interface ILog {
default void log() {
System.out.println("ILog");
}
interface ILogStatic {
public static void log() {
System.out.println("ILog");
}
}
}
interface ILogAbstract {
public void log();
}
abstract class LogStatic {
public static void log() {
System.out.println("Log");
}
}
abstract class LogImplement {
public void log() {
System.out.println("Log");
}
}
abstract class LogAbstract {
public abstract void log();
}
interface A
{
static void foo(){}
}
interface I {
default void f() {}
}
interface J {
static void f() {}
}
class IJ implements I, J {}
// must not highlight!
class JI implements J, I {}
interface B extends A
{
// must not highlight!
static int foo(){ return 1; }
}
// highlight
//cannot override instance method
class MyLogger1 extends LogStatic implements ILog {
}
class MyLogger2 extends LogImplement implements ILog.ILogStatic {
}
// highlight
// test.com.MyLogger22 must either be declared abstract or implement abstract method
class MyLogger22 extends LogAbstract implements ILog.ILogStatic {
}
// must not be highlighted
class MyLogger3 implements ILog.ILogStatic, ILog {
}
// highlight
//cannot override instance method
class MyLogger4 extends LogStatic implements ILogAbstract {
}
interface MyLogger5 extends ILogAbstract, ILog.ILogStatic {
}
interface MyLogger6 extends ILog, ILog.ILogStatic {
}
interface Mylogger7 extends ILog.ILogStatic{
// must not be highlighted
default void log() {
System.out.println("ILog");
}
}
interface Mylogger8 extends ILog{
default void log() {
System.out.println("ILog");
}
}
interface Mylogger9 extends ILog{
// highlight
// cannot override instance method
public static void log() {
System.out.println("ILog");
}
}
interface Mylogger10 extends ILog.ILogStatic{
public static void log() {
System.out.println("ILog");
}
}