首页 > 代码库 > 静态方法 java 继承

静态方法 java 继承

可以继承,例子: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方法,这会使人混淆,请大家注意。

  

 

可以重写静态方法,但重写后的静态方法不支持多态。
本质是因为对静态方法在运行期只查找显式声明的类的内存,这就意味着不可能是多态。虚拟机的运行方式就是这样,就是语法规定而已,没什么好解释的,至于什么公共不公共简直是胡扯,说了没说一样

静态方法 java 继承