- final是一个关键字,最终的,不可变的
- final修饰的类无法被继承
- final修饰的方法无法被继承
- final修饰的变量一旦赋值之后,不可重新赋值
- final修饰的实例变量,必须手动赋值,不能采用系统赋值
- final修饰的引用一旦指向某个对象之后,不能再指向其它对象,那么被指向的对象无法被垃圾回收器回收,但是所指向对象内部的内存是可以被修改的
- 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 = "中国";
}
声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!