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、初始化时机
只能初始化一次。
常见的给值
定义的时候。(推荐)
构造方法中。

 

posted @ 2017-05-03 20:25  李白说故事  阅读(146)  评论(0编辑  收藏  举报