java 关键字final
一、最终的意思,可以修饰类,方法,变量。
特点:
A:它修饰的类,不能被继承。
B:它修饰的方法,不能被重写。
C:它修饰的变量,是一个常量。
二、面试相关:
1、局部变量
基本类型 值不能发生改变
例如:
我们用final修饰局部变量a,但当我们想要修改a的值是不允许的。
引用类型 地址值不能发生改变,但是对象的内容是可以改变的
/** * * <p>Title: FinalTest</p> * <p>Description:final测试 </p> * <p>Company: </p> * @author sun * @date 2017年5月3日 下午8:23:53 */ public class FinalTest { public static void main(String[] args) { final Student student = new Student("sun", 20); student.setAge(10); System.out.println(student.getAge()); } } class Student { private String name; private Integer age; public Student(String name, Integer age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
结果输出age值为10,说明对象的内容是可以改变的。
2、初始化时机
只能初始化一次。
常见的给值
定义的时候。(推荐)
构造方法中。