Java中final和static修饰符

109 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

final 修饰符:

       final 修饰常量: Java语言中利用final关键字来进行Java常量定义。当常量被设定后,一般情况就不允许再次进行更改。如果强行赋值的话,数据库会跳出错误信息,并拒绝接受这一个新的值。

       final 修饰对象: 引用变量不能重新赋值,但是引用指向的对象的内容可以变化

(例1:final StringBuffer a=new StringBuffer("immutable");

a=new StringBuffer("");

       有编译错

       例2:

       final StringBuffer a=new StringBuffer("immutable");

       a.append(“123”);

       正确

       注意:这里是StringBuffer类型,可以追加数据,其他类型不行 )

static 修饰符:

       static 修饰变量(static不能修饰局部变量): static修饰变量,就标识这个变量是静态的,全局共享的。直接类名+变量名访问

       static 修饰方法(static不能修饰构造方法): static修饰方法,就

表示这个方法是静态的,静态方法的使用直接类名+防方法名即可

       静态方法应该注意以下几点:

         1,只能直接调用静态变量,不能直接调用非静态变量。

         2,只能直接调用静态方法,不能直接调用非静态方法。

         3,不能使用this、super关键字。

         4,不能被非静态方法覆盖。

static 修饰内部类:  static是不能修饰类的,但是可修饰内部类,称为静态内部类。

       静态内部类应该注意:

              1,可以直接访问外部类的静态成员,不可以直接访问外部类的非静态成员。

              2,非静态内部类只能定义非静态变量和方法,静态内部类可以定义静态和非静态的变量和方法。

static 修饰代码块:

       static修饰的代码块,称为静态代码块,静态代码块只执行一次。