标签:style code 基本数据 更改 子类 方法 基本 基本数据类型 引用
* * final 关键字:最终的、不可改变的 * 1、可以用来修饰一个类 * 2、可以用来修饰一个方法 * 3、可以用来修饰一个局部变量 * 4、可以用来修饰一个成员变量 * * * 1、final 修饰一个类: * 格式: * public class final 类名称 { * // 方法区 * } * 含义:当前的类不能更改,不能有子类(太监类) * 不能使用一个 final 修饰的类来当父类,这个类里面的所有方法也就不能进行覆盖重写了。 * * * 2、final 修饰一个方法: * 格式: * 修饰符 final 返回值类型 方法名称(参数列表) { * // 方法体 * } * 含义:该方法所在的类可以被继承(即可以是其他类的父类), * 但是这个方法不能给覆盖重写,用final修饰后就不可以更改了 * 注意事项:对于类、方法来说,关键词abstract和final不能同时使用,因为会矛盾。 * abstract 修饰的类、方法是一定要给覆盖重写的,而 final 修饰的类是不能更改的(即不能给覆盖重写的) * 所以关键词abstract和final不能同时使用 * * * 3、final 修饰一个局部变量 * 一旦使用 final 修饰的局部变量,那么这个变量将不能进行更改, * "一次赋值,终生不变" * 注意事项: * 对于基本数据类型来说,不可变的是变量当中的数据值 * 对于引用苏剧类型来说,不可变的是变量当中的地址值 * * * 4、final 修饰一个成员变量 * 对于成员变量来说,使用了 final 来修饰,那么这个变量同样也是不可以进行更改的,且需要马上赋值,否则无意义 * 假如你用final修饰来一个成员变量,没有赋值,那么该成员变量的值是默认值,且不可以更改,那么定义这个成员变量就是无意义的 * 注意事项: * (1)成员变量具有默认值,所以用了final修饰后,必须手动赋值,不会再给默认值了。 * (2)对于final的成员变量,要么直接赋值,要么通过构造方法赋值(二者选其一)。 * (3)必须保证类当中所有的构造方法,最终都对final成员变量进行赋值。 *
标签:style code 基本数据 更改 子类 方法 基本 基本数据类型 引用
原文地址:https://www.cnblogs.com/liyihua/p/12050591.html