static关键字
作用
-
凡是用了
static
关键字的内容不再属于对象自己,而是属于整个类,类中所有对象共用一份。因此直接对类.成员
赋值即可。 -
如果没有static关键字,那么必须首先创建对象,然后通过对象调用它;
如果有static关键字修饰,那么不需要创建对象,可以直接通过
类名.
的方式调用成员。
注意
- 静态不能直接访问非静态。
- 静态方法中不能用
this
。
静态代码块
- 形式
public class 类名(){
static{
//内容
}
}
-
特点:当第一次用到本类时,静态代码块执行唯一的一次,静态代码块比构造方法先执行。
-
用途:用来一次性的对静态成员变量进行赋值。
final关键字
含义:代表最终的,不可改变的。
作用:可用于修饰一个类,方法,局部变量,成员变量。
-
修饰类:
public final class 类名(){}
作用:当前类不能有任何子类。(太监类)因此其成员方法也无法进行覆盖重写。
-
修饰方法:
修饰符 final 返回值类型 方法名(参数列表){}
注意:此方法无法被覆盖重写,
abstract
和final
关键字不能同时使用,两种矛盾。 -
修饰局部变量:
final 类型 变量名;
- 对于基本类型变量:变量中储存的数据不可变。
- 对于引用类型变量:变量指向的地址值不可变。但可通过方法改变对象的属性值,如
setXxx
。
-
修饰成员变量:
final 类型 变量名;
注意:此时成员变量不再有默认值,必须进行手动赋值。
手动赋值(二者选其一)
- 直接赋值:在变量名后加上属性值。
- 构造方法赋值:在无参构造中给变量赋值。