final是最终的意思,可以修饰类,方法,变量
修饰类:表明该类是最终类,不可以被继承
例如修饰工具类,就可以加上final
修饰方法:表示该方法是最终方法,不可以被重写
修饰变量:表示该变量第一次被赋值后,不能再重新赋值,有且仅能被赋值一次
例如折扣需要被保护
java中的变量 1:局部变量
2:成员变量
public static final String name="张三"; // 静态成员变量被final修饰也叫常量
成员变量又分为:实例成员变量和静态成员变量
private final String name; // final 修饰你定义的时候不给他赋值他会报错,定义实例成员变量的时候几乎不用
final修饰的变量是基本类型,那么变量存储的数据值不能发生改变;
final修饰的变量是引用类型变量,那么变量存储的地址值不能发生改变,但是地址指向的对象内容是可以发生变化的。
例子
public class test {
public static void main(String[] args) {
final Student s1=new Student(); //final修饰s1为一个地址,可以改内容不能改地址
s1.setHobby("打游戏");//修改内容不报错
s1.setHobby("学习");//修改内容不报错
//s1=null; //改地址报错
}
}
class Student{
private String hobby;
/**
* @return the hobby
*/
public String getHobby() {
return hobby;
}
/**
* @param hobby the hobby to set
*/
public void setHobby(String hobby) {
this.hobby = hobby;
}
}