java中final关键字

在eclipse中链接源码

在JRE System Library 中有很多源文件,在某些包下打开.class文件,当没有看见源码的时候,点击Attached source:
Workspace:表示源码在当前的工作区中
External File:表示源码在某个压缩包中
External Folder:表示源码在某个目录中
比如可以看String.class的源码。(shift+Ctrl+T)
很多代码可以根据源码进行编写。

在类库中一般包括三个部分

源码:可以通过源码来理解程序
字节码:程序开发的过程中使用的就是这部分
帮助文档:对开发提供帮助
在适应时注意版本的统一

final关键字

成员员变量之实例变量
实例变量有默认值,并且final变量一旦赋值之后就不可再重新赋值,所以java语言最终规定实例变量使用final修饰后,必须手动赋值,不能采取系统默认值。

public class Finaltest {
	//final int age;//出错的,
	//第一种方案,直接赋予初始值
	final int age=10;
	//第二种方法是创建一个构造方法
	final int num;
	public Finaltest()
	{
		this.num=200;
	}
	//其实两种方法是一样的,因为在执行赋值号时,就是调用构造方法进行赋值
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
  1. final是一个关键字,表示的是最终的,不可变的。
  2. final修饰的类无法继承
  3. final方法无法被覆盖
  4. final修饰的变量一旦赋值不可再重新赋值
  5. final修饰的实例变量必须手动赋值,不可采用系统默认值
  6. final修饰的引用,一旦指向某个对象之后,不能再指向其他的对象,那么被指向的对象无法被垃圾回收站回收
  7. final修饰的引用虽然指向某个对象之后不可以在指向其他的对象,但是所指向的对象内部的内存可以被修改的。
public class Finaltest {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//创建用户对象
		User u=new User(200);//表示u指向的某个地址
		//当再创建一个新的对象时,
		//程序执行到此处表示以上对象变成了垃圾数据,等待垃圾回收站的回收
		u=new User(100);//指向的是新的地址。
		
		final User user=new User(100);
		//user=new User(200);//出错
		//加final后,分配给他的地址是不可以改变的。
		user.id=50;
		//对象指向的地址不变。但是里面的数据是可以改变的
	}
	
}

在中国人的类中,每个中国人的国籍都不会改变,为了防止国际被修改,建议加final修饰。
实例变量不可变,和static联合使用,被称为常量
//常量定义的语法格式:
// public static final 类型 常量名=值;
static final String Guo_ji=“中国”;
//如果不加static就会给每一个对象分配空间,从而造成浪费,

static final String Guo_ji="中国";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值