成员变量——常量的语法格式:public static final 类型 常量名 = 值;//静态不可修改的值。 java规则所有常量名字全部大写,每个单词之间使用下划线
例题一
package day01.keywordfinal;
public class FinalTest01 {//成员变量-实例变量//final int s; //运行错误实例变量有默认值,final修饰的变量一旦赋值不能重新赋值//综合考虑,java规定实例变量使用final修饰之后,必须手动赋值,不能采用系统默认值//解决方法1
final int a =1;//解决方法2
final int num ;
public FinalTest01(){//构造方法
this.num=22;//缺省构造方法修改默认值}
public static void main(String[] args){int i =10;
i =20;
final int j =30;//j= 40; //不可二次赋值}}
例题二
package day01.keywordfinal;
public class User {
private int id;
public intgetId(){return id;}
public void setId(int id){
this.id = id;}
public User(int id){super();
this.id = id;}
public User(){super();}}
package day01.keywordfinal;
public class UserTest {
public static void main(String[] args){//创建用户对象
User u =newUser(100);//User u = 0x1234
u=newUser(200);//User u =0x5678//程序执行到此,表示User(100)已经变成了垃圾数据,等待垃圾回收器的回收
final User s =newUser(10);//s = new User(20); //编译错误 final修饰的引用,一旦指向某个对象,不再指向其他对象//那么被指向的对象无法被垃圾回收器回收
s.setId(50);//没有错误}}