final修饰符

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Final修饰符

Final关键字可以修饰类、变量、和方法,用于表示它修饰的类、变量、方法不可改变。

1,final修饰成员变量

成员变量是随类的初始化或随对象的初始化而初始化。当类初始化时,系统会为该类的属性分配内存空间,并分配默认值,当初始化对象时,系统会为该对象的实例属性分配内存空间,并分配默认值。也就是说,当执行静态初始化块时,可以给该类的属性赋初始值,当执行普通初始化块、构造器时可对实例属性赋初始值。因此,成员变量的初始值可以在定义该变量时指定默认值,可以在初始化块、构造器中指定初始值,否则,成员变量的初始值将是由系统自动分配的初始值。

对于final修饰的成员变量而言,一旦有了初始值,就不能重新赋值,因此不可在普通方法中对成员变量重新赋值,成员变量只能在只能在定义该变量时指定默认值,或者在静态初始化块、初始化块、构造器中为成员变量指定初始值,如果即没有在定义该变量时指定初始值,也没有在初始化块,构造器中指定初始值,则改变量的值一直是0、false null 0.000

因此final修饰的类是属性,实例属性修改的地方归纳如下:

类属性:可在静态初始化快中,声明该属性时指定初始值。

实力属性:可在非静态初始化块、声明该属性、构造器中指定初始值。

2、final修饰的基本类型和引用类型变量的区别

Final修饰的基本类型变量时,不能对基本变量重新赋值,因此基本类型变量不能被改变。但对引用类型而言,它保存的仅仅是一个引用,final只保证这个引用的引用地址不会被改变,即一直引用同一对象,但这个对象完全可以改变。所以final 修饰的引用变量无法在编译时获取值,而是在运行时获取值。

3、final方法

Final修饰的方法为不可重写的方法。

对于一个private修饰的方法,因为它在当前类中可见,其子类无法访问该方法,所以子类无法重写该方法,如果子类中定义了一个与private方法相同名字、相同返回类型,相同的参数列表,也不是方法的重写,而是重新定义了一个新的方法。因此,即使使用final修饰的private的访问权限的方法,其子类依然可以定义一个与该方法具有相同的方法名、相同的参数列表、相同的返回类型。

4、final类

Final修饰的类不可有子类,不可继承

相关文档
最新文档