zoukankan      html  css  js  c++  java
  • 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)的实例变量,不可以改变容器变量本身,但可以修改容器中存放的对象,这一点在编程中用到很多。
  • 相关阅读:
    JQuery
    如何垂直居中一个浮动元素
    Bootstrap概述
    浮动元素的水平居中
    图(Prime算法、 Kruskal算法、Dijkstra算法、Floyd算法、AOV网)
    排序(插入排序、选择排序、交换排序、二路归并排序、基数排序、外部排序)
    实验二 Scala编程初级实践
    数据类型、运算符
    用栈求前缀表达式值
    用栈求后缀表达式地的值
  • 原文地址:https://www.cnblogs.com/tonghaolang/p/7141523.html
Copyright © 2011-2022 走看看