Java final static关键字

Java中的final关键字

  使用 final 关键字做标识有 “最终的” 含义。

final 可以修饰 类、方法、属性、变量

  final 修饰类: 则该类不允许被继承

  final 修饰方法:则该方法不允许被重写

  final 修饰属性

    则该类的属性不会进行隐式的初始化 (类的初始化属性必须有值)或在构造方法中赋值 (两者选其一)

    修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变

    修饰的属性表明是一个常数(创建后不能被修改)

  final 修饰变量:则该变量的值只能赋值一次,即变量为常量

 

Java中的static关键字

  使用 static 关键字做标识有 “静态” 含义。

static 可以修饰 属性、方法、代码段、内部类(静态内部类或嵌套内部类)

  static 修饰的属性

    初始化在编译期(类加载的时候),初始化后能被修改

    修饰的属性所有对象都只有一个值

    修饰的属性强调它们只有一个 

  static 修饰的属性、方法、代码段跟该类的具体对象无关,不创建对象也能调用static修饰的属性、方法等

  static 和“this、super”势不两立,static跟具体对象无关,而this、super正好跟具体对象有关

  static 不能修饰局部变量

 

static final 和 final static

  static final 和 final static 没有什么区别,只是通常的书写方式为 static写在前面

static final

  static 修饰的属性强调它们只有一个,final修饰的属性表明是一个常数(创建后不能被修改);

  static final修饰的属性表示一旦给值,就不可修改,并且可以通过类名访问。

  static final也可以修饰方法,表示该方法不能被重写,可以在不new对象的情况下调用。

  

posted @ 2018-12-02 12:19  Vincen_shen  阅读(126)  评论(0编辑  收藏  举报