赞
踩
Final关键字可以修饰类、变量、和方法,用于表示它修饰的类、变量、方法不可改变。
final主要用法有以下四种:
一、final修饰成员变量
对于final修饰的成员变量而言,一旦有了初始值,就不能重新赋值,因此不可在普通方法中对成员变量重新赋值,成员变量只能在只能在定义该变量时指定默认值,或者在静态初始化块、初始化块、构造器中为成员变量指定初始值,如果即没有在定义该变量时指定初始值,也没有在初始化块,构造器中指定初始值,则改变量的值一直是0、false null 0.000
因此final修饰的类是属性,实例属性修改的地方归纳如下:
1、类属性:可在静态初始化快中,声明该属性时指定初始值。
2、实力属性:可在非静态初始化块、声明该属性、构造器中指定初始值。
二、final修饰的基本类型和引用类型变量的区别
Final修饰的基本类型变量时,不能对基本变量重新赋值,因此基本类型变量不能被改变。但对引用类型而言,它保存的仅仅是一个引用,final只保证这个引用的引用地址不会被改变,即一直引用同一对象,但这个对象完全可以改变。所以final修饰的引用变量无法在编译时获取值,而是在运行时获取值。
三、final方法
Final修饰的方法为不可重写的方法。
对于一个private修饰的方法,因为它在当前类中可见,其子类无法访问该方法,所以子类无法重写该方法,如果子类中定义了一个与private方法相同名字、相同返回类型,相同的参数列表,也不是方法的重写,而是重新定义了一个新的方法。因此,即使使用final修饰的private的访问权限的方法,其子类依然可以定义一个与该方法具有相同的方法名、相同的参数列表、相同的返回类型。
四、final类
Final修饰的类不可有子类,不可继承
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。