java 中final的回收_Java中的final关键字

关于final关键字

1、final是一个关键字,表示最终的,不可变的;

2、final修饰的类无法被继承;

3、final修饰的方法无法被覆盖;

4、final修饰的变量一旦赋值之后,不可重新赋值;

5、final修饰的实例变量必须手动腻值,不能采用系统默认值;

6、final修饰的引用一旦指向某个对象之后,不能再指向其它对象,那么被指向的对象无法被垃圾回收器回收;

7、final修饰的引用虽然指向某个对象之后不能指向其它对象,但是所指向的对象内部的内存是可以被修改的;

8、final修饰的实例变量一般和static联合使用,被称为"常量"。

关于myeclipse怎么链接源码?

打开某个.class字节码文件,当没有看到源码的时候:

点击"Attached Source":

workspace.. 【源码在当前的工作区当中】

External File.. 【源码在某个压缩包当中】

External Folder.. 【源码在某个目录当中】

以后尽量所有的程序都链接源码,没有源码从网上找,或者跟老师要源码。养成看源代码的好习惯。

对于以后所学习的类库,一般都是包括三个部分:

源码【理解程序】

字节码【程序开发中使用的就是这部分】

帮助文档【对开发提供帮助】

(注意使用时版本要统一)

final修饰的实例变量必须手动腻值

1、成员变量之实例变量;

实例变量有默认值+ final修饰的变量一旦赋值不能重新赋值;

综合考虑,,java语言最终规定实例变量使用final修饰之后,必须手动腻值,不能采用系统默认值。

final int age; //编译错误

2、

第一种解决方案

final int age = 10;

第二种解决方案

final int num;

public FinalTest02 (){

this.num =200;

}

final int age;

public Demo(int age) {

this.age = age;

}

以上的两种解决方案:其实本质上就是一种方式,都是在构造方法执行过程当中给实例变量赋值。

3、例子

public class Demo{

final int age;

public Demo(int age) {

this.age = age;

}

public static void main(String[] args){

Demo d = new Demo(10);

System.out.println(d.age);

Demo q = new Demo(20);

System.out.println(q.age);

}

}

final修饰的引用

public class Demo{

int id;

public Demo(int id) {

super();

this.id = id;

}

public static void main(String[] args){

//创建用户对象

User u = new User (100);

u = new User (200);/*又创建了一个新的

User对象程序执行到此处表示以上对象已变成

垃圾数据,等待垃圾回收器的回收。*/

//创建用户对象

final User user = new User (30);

//user = new User (50);

/*final修饰的引用一旦指向某个对象之后,

不能再指向其它对象,那么被指向的对象无

法被垃圾回收器回收。*/

user.id=50;/*final修饰的引用虽然指向

某个对象之后不能指向其它对象,但是所指向

的对象内部的内存是可以被修改的。*/

}

}

常量

1、需求:每一个中国人的国籍都是中国,而且国籍不会发生改变,为了防止国籍被修改,建议加final修饰。

2、final修饰的实例变量是不可变的,这种变量一般和static联合使用,被称为"常量"

3、常量的定义语法格式:

public static final 类型 常量名 = 值;

4、java规范中要求所有常量的名字全部大写,每个单词之间使用下划线连接:

public static final string GUO_JI = "中国";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值