父类
package com.oop.Demo05;
//重写是方法的重写和属性无关
public class B {
public static void test1(){
System.out.println("B1");
}
public void test2(){
System.out.println("B2");
}
}
子类
package com.oop.Demo05;
public class A extends B{
public static void test1(){
System.out.println("A1");
}
//重写只能是非静态方法!!!
@Override
public void test2(){
System.out.println("A2");
}
}
测试
package com.oop.Demo05;
public class Application {
public static void main(String[] args) {
A a = new A();
a.test1();//A1
a.test2();//A2
//父类的引用指向子类,一个对象的实际类型是确定的,但可以指向对象的引用类型有很多(父类,有关系的类)
B b = new A();
b.test1();//B1
b.test2();//A2,子类重写了父类的方法
}
}


