静态方法可以被子类所继承,但是不能被重写,在编译期间,当父类的引用指向子类的对象时(多态),如果这时父类的引用调用子类从父类继承过来的非静态方法时(其实在编译期间Java编译器并不知道父类的引用调用的方法是子类的还父类本身的,只有在Java程序真正的在JVM上运行了,才知道父类的引用指向的是那个对象,进而得知应该操作谁的方法或成员变量),那么在程序运行时,就会调用子类的方法;如果父类在编译期间调用的是子类从父类继承过来的static方法,那么在运行期间,父类的引用就会调用父类本身的这个static方法,因为static方法是早绑定,对于早绑定,在编译期间就知道父类的引用调用的是谁的方法,早绑定不支持多态 |