public class Application {
public static void main(String[] args) {
//方法的调用只和左边,定义的数据类型有关
//因为静态方法是类的方法,而非静态是对象的方法
/*
当有static的时候,方法调用了类的方法把b看成是A的一个类方法进行调用
而当没有static的时候,b调用的是对象的方法,这时候b被看作是A创作出来的一个对象
*/
A a = new A();
a.test(); //A
//父类的引用指向了子类
B b = new A();
b.test();//B
}
public class A extends B{
@Override //重写
public void test() {
System.out.println("a=->test()");
}
}
//重写都是方法的重写,跟属性无关
public class B {
public void test() {
System.out.println("b=>test()");
}
}