• final与static


    final 与 static

    • final
      • 修饰
        • 不能被继承
        • final类中的方法默认是final的
      • 修饰方法
        • 可以被继承,不能被重写
      • 修饰变量
        • 成为常量,只能赋值一次,赋值后不能改变
        • 如果变量是一个对象,只要引用不变它的属性是可以改变的
      • final不能修饰构造方法
      • 父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。
      • 当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值。
    • static
      • 修饰成员变量
        • 静态变量,加载类的过程中就会为静态变量分配内存,使用类名直接引用
      • 修饰方法
        • 静态方法 不能访问所属类不带static的成员变量和成员方法
      • 修饰代码块
        • 静态代码块 位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。
    • static和final一块用
      • static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!
        • 对于变量,表示一旦给值就不可修改,并且通过类名可以访问。

        • 对于方法,表示不可覆盖,并且可以通过类名直接访问。

        • 特别要注意一个问题:

          • 对于被static和final修饰过的实例常量,实例本身不能再改变了,但对于一些容器类型(比如,ArrayList、HashMap)的实例变量,不可以改变容器变量本身,但可以修改容器中存放的对象,这一点在编程中用到很多。
  • 相关阅读:
    (U3D)Time的使用
    (U3D)如何从RESOURCES文件夹动态加载图片
    codeforce 3C-3D(Greedy)
    codeforce 3A-3B(Greedy)
    读取bmp
    透视投影的原理和实现-转载
    Drainage Ditches USACO 4.2 (最大流,BFS)
    成员函数指针小记-转载
    codeforce 2A-2B
    字符串各种Hash算法比较-转载
  • 原文地址:https://www.cnblogs.com/tonghaolang/p/7141523.html
Copyright © 2020-2023  润新知