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修饰的代码块,称为静态代码块,静态代码块只执行一次。