java语句中的final关键字
  1. final是一个关键字,最终的,不可变的
  2. final修饰的类无法被继承
  3. final修饰的方法无法被继承
  4. final修饰的变量一旦赋值之后,不可重新赋值
  5. final修饰的实例变量,必须手动赋值,不能采用系统赋值
  6. final修饰的引用一旦指向某个对象之后,不能再指向其它对象,那么被指向的对象无法被垃圾回收器回收,但是所指向对象内部的内存是可以被修改的
  7. final修饰的实例变量,一般和static联合使用,称为常量
public class FinalTest {
	// java语言规定实例变量使用final修饰之后,必须手动赋值,不能采用默认系统值
	final int i = 10;
	
	// 或者
	/*final int i;
	public FinalTest(){
		this.i = 20;
	}*/
	
	public static void main(String[] args){
		
	}
}
public class User {
	String name;

	public User(String name) {
		this.name = name;
	}
	
}

public class FinalTest {

	public static void main(String[] args){
		
		final User u1 = new User("鳄鱼君");
		
		// u1 = new User("eyujun");
		u1.name = "eyujun";
	}
}
假设一个中国人的类,有实例变量“国籍”,每个不同的中国人的国籍都是不变的,现在也不想它被修改,可以使用final修饰:
public class FinalTest {

	public static void main(String[] args){
		System.out.println(Chinese.Country);
	}
}

class Chinese{
	// final修饰的实例变量是不可变的,这种变量一般和static联合使用,称为“常量”
	// 常量定义的语法格式: public static final 类型 常量名  = 值;
	// java规定常量名字全部大写,每个单词之间使用下划线链接
	public static final String Country = "中国";
}

发表评论