final和static总结

final

1.修饰变量
final修饰变量是,变量必须进行初始化,并且不能被修改,初始化定义final变量是直接初始化或者在构造函数中初始化
2.修饰方法
final修饰方法则该方法不能被子类重写
3.修饰类
final修饰一个类,则该类不能被继承(String、StringBuilder、StringBuffer都是final类型,所以都不允许被继承)

  • final属性上可以声明的同时直接复制或者在构造器中进行赋值
  • final临时变量,可以在声明的同时赋值或者在第一次使用之前进行赋值
  • final方法表示这个方法不允许在子类重写
  • final类表示这个类不允许被继承

static

1.静态属性
static属性是当前类的所有对象所共有的共同属性(只有一个,而普通属性各个对象都有自己的,相互隔离,任何一个当前类对象修改这个属性,所有其他类对象的这个属性都会受到影响)
2.修饰常量

  • 声明的语法:public static final double MIN_NUMBER = 0.1;
  • 声明的同时进行初始化操作
  • 先声明后在static静态代码块中进行赋值

名称全大写,下划线进行分词

3.修饰方法
static修饰的方法可以直接通过类名.方法名直接调用静态方法,静态方法执行时很有可能并没有构建对象,所以在静态方法中不允许使用this/super之类用于指定对象的关键字
4.静态代码块
类在执行时需要通过一个叫类加载器的的组件将程序加载到内存中,类运行时一般不会发生变化,所以类不会频繁加载,在整个运行过程中只加载一次,而且常驻内存。
静态代码块加载完毕后自动执行,而且只执行一次。

Guess you like

Origin blog.csdn.net/ananhenku/article/details/121832994