标签:blog ar sp java div log bs as new
可以继承,例子: class A{ public static void a(){ System.out.println("a"); } } class B extends A{} public class Test { public static void main(String[] args) { B.a();//输出a,证明静态方法可以被继承 } } 不能被覆写,例子: class A{ public static void a(){ System.out.println("a"); } } class B extends A{ public static void a(){ System.out.println("b"); } } public class Test { public static void main(String[] args) { A a = new B(); a.a();//输出结果是a } } java不推荐用对象调用static方法,这会使人混淆,请大家注意。
可以重写静态方法,但重写后的静态方法不支持多态。
本质是因为对静态方法在运行期只查找显式声明的类的内存,这就意味着不可能是多态。虚拟机的运行方式就是这样,就是语法规定而已,没什么好解释的,至于什么公共不公共简直是胡扯,说了没说一样
标签:blog ar sp java div log bs as new
原文地址:http://www.cnblogs.com/chuiyuan/p/4129440.html