
final关键字代表最终的,不可更改的。
常见的四种用法:1.可以用来修饰一个类
2.可以用来修饰一个方法。
3.可以用来修饰一个局部变量。
4.可以用来修饰一个成员方法。
(1)当final用来修饰一个类的时候,格式:
public final class 类名称{...}
含义:当前类不能有任何子类
注意:一个类中如果是final的那么其中所有的类都无法进行覆盖重写。
(2)当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写。格式:
修饰符 final 返回值类型 方法名称(参数列表){...}
注意:对于类,方法来说abstract关键字和final关键字不能同时使用,因为会产生矛盾。
(3)一旦使用final关键字修饰局部变量,那么这个变量不能进行更改
对于基本数据类型来说,不可更改指的是变量中的数据不可改变。
对于引用数据类型来说,不可改变指的是变量中的地址值不可改变。
(4)对于成员变量来说,如果使用final关键字修饰那么这个变量的值不可变。
注意:1.由于成员变量具有默认值,所以使用final之后必须手动赋值。
2.对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。
3.必须保证类当中所有重载的构造方法都最终会对final成员变量进行赋值。
JAVA中四种权限修饰符:public,protected,(default),private
| 是否可以引用 | public | protected | (default) | private |
| 同一个类 | YES | YES | YES | YES |
| 同一个包 | YES | YES | YES | NO |
| 不同包子类 | YES | YES | NO | NO |
| 不同包非子类 | YES | NO | NO | NO |