class BaseA { public void print1() { System.out.println("Base Print"); } public void print2() { print1(); } public BaseA() { } } class A extends BaseA{ public A() { } public void print1() { System.out.println("No Base print"); } } public class Demo { public static void main(String[] args) { // TODO, add your application code System.out.println("Hello World!"); A a=new A(); a.print2(); } }
结果是:Hello World!
No Base print
注:父类的方法f2()中使用了父类中的方法f1(),在子类中,子类覆盖了方法f1().则定义子类变量M,M使用方法f2()时,f2()会使用子类中被覆盖的方法f1()