Java中final修饰符的理解

本文探讨了Java中final关键字的三种用法:final修饰类、方法和变量。final修饰的类不可被继承,其成员方法默认被视为final,尽管编译后的class文件不显示。final方法不能被子类修改,private方法也会隐式地成为final。final变量一旦初始化,基础类型不可再更改,引用类型则不能改变引用,但可修改对象内容。
摘要由CSDN通过智能技术生成

记录一下今天复习的final修饰符,其中 final类的成员方法隐式被final修饰部分 仅代表我个人理解

总结如下:

final有三种使用方法:

1、final修饰类 final修饰类表示这个类不能被继承, 这个类的成员变量可以选择性得用final修饰, 类的成员方法在继承角度来说可以理解为默认被final修饰, 因为java之前是可以用final使方法变为内嵌调用,以此来提高方法效率;

2、final修饰方法 final修饰方法表示这个方法被锁定,不能被任何类修改, 当一个方法被private修饰,则会被隐式得指定为final方法,即不能被继承super调用;

3、final修饰变量 final修饰变量分为两种,一种是修饰基本类型,一种是修饰引用类型, 当修饰基础类型的时候,第一次赋值后就不能被更改, 当修饰引用类型的时候,第一次指向后就不能修改其对象引用,即一直引用这一个对象,但是可以修改对象本身;

具体案例:

一、修饰类

当它修饰类的时候,表明此类不允许被其他类继承;

在被final修饰的类里面,所有成员变量都是可以选择性得使用final,但是被final修饰的成员变量必须立即赋值;

  

但是在被final修饰的类里,所有的成员方法都是会被隐式得加上final;这句话来自《java编程思想》一书,我验证了,但是编译后的class一样是不带final的,对于这句话我是这么理解的:因为Java之前版本是可以使用final使方法变为内嵌调用,以此来提升方法的效率,但是现在Java已经不需要这么写了;

二、修饰方法

当它修饰方法的时候,表示这个方法被锁定,不能被任何类修改;

  

而且当一个方法被私有化(被private修饰)的时候,则该方法会被隐式得指定为final,即不能在其子类被super调用;

  

三、修饰变量

final修饰变量分为两种情况,一个是修饰基础类型,一种是修饰引用类型;

当修饰基础类型的时候,第一次赋值后将不能更改变量的值;

当修饰引用类型的时候,第一次指向后就不能修改其对象引用,即一直引用这一个对象,但是可以修改对象本身;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值