1、final关键字
(1) 修饰类:被fianl
关键字修饰的类不能有任何子类
public final class 类名称{
类内容;
}
(2)修饰方法:被fianl
关键字修饰的方法不能被覆盖重写
public final 返回值类型 方法名称(参数列表){
方法体;
}
(3)修饰局部变量:被fianl
关键字修饰的局部变量不能进行更改
final 数据类型 变量名称 = 变量值;
(4)修饰成员变量:被fianl
关键字修饰的成员变量不可变
1.由于成员变量具有默认值,所以用了fianl关键字修饰后必须手动赋值;
2.对于被fianl关键字修饰的成员变量,要么使用直接赋值,要么通过构造方法赋值;
3.必须保证类当中所有重载的构造方法,最终都会对fianl的成员变量进行赋值;
注意事项:
1)、对于类、方法来说,abstract
关键字和final
关键字不能同时使用;
2)、被final
关键字修饰的局部变量只要保证有唯一一次的赋值即可;
2、权限修饰符
访问权限:public > protected >(default)> private
public | protected | (default) | private | |
---|---|---|---|---|
同一个类 | YES | YES | YES | YES |
同一个包 | YES | YES | YES | NO |
不同包子类 | YES | YES | NO | NO |
不同包非子类 | YES | NO | NO | NO |