final修饰的对象,有几种初始化的方式
final修饰的对象初始化分两种情况考虑
第一种:修饰成员对象时有3种初始化方式
- 修饰成员变量时直接赋值
- 声明完变量后在构造方法中为其赋值
- 声明完变量后在构造代码块当中为其赋值
第二种:修饰类对象(静态对象)
- 在定义类变量直接赋值
- 在静态代码块中直接赋值
代码解析
package com.liqh;
public class TestFinal {
/**
*1、使用final修饰的类的特点:该类不能有子类
*2、使用final修饰的对象的特点:该对象的应用地址不能改变
*3、使用final修饰的方法的特点:该类方法不能被重写
*4、使用final修饰的变量的特点:该变量会变成常量、值不能被改变
*
*/
//初始化方法1、在定义变量时直接赋值
private final int i=10;
private final AuthorUser user = new AuthorUser();
//初始化方式2、声明完变量后在其构造方法为其赋值
//如果采用这用方式、那么每一个被final修饰的变量都要在构造方法中赋值。
private