JAVA中的final

final的意思是指不可改变的,不可改变主要是出于设计或效率考虑
final可以用来修饰:数据、方法、类


一、修饰数据
1、修饰数据,就代表数据不能改变,数据不能改变,就必须在定义时进行初始化。
修饰数据也分为两种,一种是修饰基本类型,另一种是修饰对象引用(数组也一样,数组也是特殊的对象)
基本类型就不用说了,就是不能改变,而修饰对象是指不能把这个对象引用再指向别的对象了,而对象本身是可以改变的。
比如:final A a=new A();
a=new A();//错误
a.setXX(xxx);//正确
2、空白final,所谓的空白final是指在声明final数据时,并没有进行初始化。
但必须在域的定义处或构造函数中进行初始化
3、修饰参数,说明这个参数在方法体中不能改变或更改对象引用指向。


二、修饰方法
主要是把方法锁定,以防止任何继承类修改它的含义。不能覆盖
private和final
在类中private修饰的方法,隐含为final类型。在一个类中,如果一个方法被指定为private,在子类中有一个完全一样的方法,这也不是覆盖。
因为我们知道,private修饰的方法只不过是一些隐藏于类中的代码片段而已,子类中的方法和父类中的方法是两个完全不同的方法。如果你在子类中这个方法的上面添加@Override,则会提示报错信息。
而如果在一个类中,方法被指定为final,在子类中又有一个完全一样的方法,此时编辑器会提示final方法不能覆盖的错误。




三、修饰类
final修饰类,说明你不想让别人继承你的类,不希望它有子类。此时所有的行为也是final类型的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值