(B类(父类))
package oop.demo05;
//重写都是方法的重写,和属性无关
public class B {
public void test(){
System.out.println(“B的测试方法”);
}
}
(A类(子类))
package oop.demo05;
//重写需要有继承关系,子类重写父类的方法
//重写的方法名相同,参数列表相同,子类方法和父类方法必须一致,方法体不同
//重写的原因:父类的方法子类不一定需要,或者不一定满足
public class A extends B{
@Override
public void test() {
System.out.println(“A的测试方法”);
}
}
(main方法)
package oop;
import oop.demo05.A;
import oop.demo05.B;
//静态方法调用之和左边的数据类型有关
public class Application {
public static void main(String[] args) {
A a = new A();
a.test();//静态输出A,非静态输出A
//父类的引用指向了子类
B b = new A();//非静态时子类重写了B的方法
b.test();//静态输出B,非静态输出A
}
}