zoukankan      html  css  js  c++  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方法,这会使人混淆,请大家注意。
    

      

    可以重写静态方法,但重写后的静态方法不支持多态。
    本质是因为对静态方法在运行期只查找显式声明的类的内存,这就意味着不可能是多态。虚拟机的运行方式就是这样,就是语法规定而已,没什么好解释的,至于什么公共不公共简直是胡扯,说了没说一样
  • 相关阅读:
    NSURLSession 网络请求
    NSData 数据
    NSStream文件流
    NSFileManager文件管理
    NSCache 缓存
    NSUserDefaults数据存储
    NSKeyedArchiver数据归档
    子线程定时器的创建
    NSEnumerator迭代器
    NSDate 时间
  • 原文地址:https://www.cnblogs.com/chuiyuan/p/4129440.html
Copyright © 2011-2022 走看看