java基础面试题
1、关键字final 在 Java 中有什么作用?
1、被final修饰的类为最终类,不能再变了,主要理解为该类不能被继承,不能被扩展,相当于是不能变了,方法不能再重写
2、修饰方法:最终方法
该方法的内容不能改变,不能被重写
3、修饰变量:最终变量
1、该变量的内容不能改变,成为了一个常量,只能赋值一次
2、声明常量格式:符号常量,命名规范:全部大写,下划线分隔 public static final 数据类型 常量名称 = 常量值;
3、final修饰哪个变量,哪个变量不能变,如果修饰的是引用类型的变量,不能修改变量中记录的地址,但是地址对应的对象中的数据可以变化的;
4、final修饰成员变量,成员变量的初始化过程有变化
成员变量初始化:默认初始化、显式初始化、构造方法初始化
被final修饰之后:显示初始化、构造方法初始化
总结:final变量,有初始化的时机问题,必须在构造方法结束之前,完成赋值
final Person p = new Person();
p.name = "lisan";
p.age = 24;
System.out.println(p.name + "..." + p.age);
p = new Person();
}
`class Person {
final String name = "zhangsan";
final int age = 23;
}