// method override import java.io.*; class a extends a1 { public static void f() { } public void f1() { } } class a1 { public void f() {} public static void f1() {} } interface i { void f1(); } class c_a1_i extends a1 implements i { } interface ii { int f(); } abstract class c_a1_ii extends a1 implements ii { } interface i2 { int f1(); } interface i3 extends i, i2 { } class weak { void f1() {} } class a2 extends weak implements i { } class a3 { protected void f1() {} } class a4 extends a3 implements i { // public void f1() {} } class a5 extends a3 implements i { // if we override suspicious method, its OK public void f1() {} } // deep inherit class da1 { void f() {} } class da2 extends da1 { void f() {} } class da3 extends da2 {} interface MyInterface { public void myMethod(); } class MyInterfaceImpl implements MyInterface { public static void myMethod() { /* implementation goes here */ } private static String toString() { return null; } } // Sun-style inheritance class Sunc { protected void f() {} } class Suncc extends Sunc { public void f() {} } interface Suni { public void f(); } class Sunccc extends Suncc implements Suni { } // override static class StA { public static StA createInstance() { return new StA(); } } class StB extends StA { public static String createInstance() { return null; } } //////// class Foo { protected static void foo(String s) {} } class Bar extends Foo{ private static void foo(String s) {} } ///////////// IDEADEV-41779 class A { public static C C() { return new C(); } } class B extends A { } class C extends B { public C() {} } /////////////////////////// class Z1 { public static final void doItBaby() { System.out.println("Hello, diar A"); } } class Z2 extends Z1 { public static void doItBaby() { System.out.println("Hello, diar B"); } } ///////////////////