one
package com.oop.demo01; import com.oop.demo01.A; import com.oop.demo01.B; public class Application { //静态方法和非静态方法的区别很大 //静态方法:方法的调用只和左边,定义的数据类型有关 //非静态方法:重写 public static void main(String[] args) { //方法的调用只和左边,定义的数据类型有关 A a = new A(); a.test();//A //父类的引用指向子类 B b = new B();//子类重写了父类的方法 b.test();//B <== 改变该值会改变结果 } }
two
package com.oop.demo01;
//重写都是方法的重写,和属性无关
public class B {
public void test(){
System.out.println("B==>test()");
}
}
three
package com.oop.demo01; //继承 public class A extends B{ //Override 重写 @Override//注解,有功能的注解 public void test() { System.out.println("A==>test()"); } }
运行结果: