When looking at SO questions, I came by definition Runnable:
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
As you can see, it has public abstractmethods in the definition that are superfluous and, as far as I know, should not be included in method declarations.
I expect the JDK team to see this and expects the reason will still be here.
Therefore, the question is, can deleting public abstractfrom interface declarations interrupt bytecode compatibility? Keep in mind that this Runnabletechnically should still work even with code written using JDK1.0 java code.
skiwi