java中的final关键字

本文详细介绍了Java中的final关键字,包括其在数据、方法和类上的应用。解释了final数据的特性,final方法如何防止子类重写以及final类为什么不能被继承。此外还探讨了final参数的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java中的final关键字通常的指的是“这是无法改变的”。它可能被作为(数据、方法、类)的修饰词。

一、final数据

  1、在修饰基本类型时,表示它是一个常量,在定义时必须给予赋值  

       特别是一个既是static又是final的字段只占据一段不能改变的存储空间。

  2、在修饰对象或者数组时候,它表示对对象或者数组的引用恒定不变,然而对象本身却是可以修改的。

       (解释)   引用=栈内存里的数值;  对象=堆内存中的内容

       空白final:声明fianl但未给定初值的字段,但必须确保空白final在使用前被初始化,一般在构造方法完成。

       final参数:在方法的参数列表以声明的方式将参数指明为final,这意味着在方法里无法修改参数的引用所指向的对象

 

二、fianl方法

   1、把方法锁定,使得在子类(导出类)中不能修改它的含义。

   2、效率,一个final方法被调用时候会转为内嵌调用,不会使用常规的压榨方式,使得运行效率较高,尤其是在方法体较简单的情况下,但也并不绝对。特别的:类中所有的private方法都隐式地指定为是final,所以在继承关系中不存在覆盖问题。

将方法声明为fianl,那就说明你已经知道这个方法提供的功能已经满足你的要求,不需要进行扩展了,并且也不允许任何从此类继承的类来覆盖这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。

 

三fianl类

声明为final的类不能派生出了子类,也就是不能被继承,一个final类中的所有方法都隐式地指定为final.

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/Everyjoy/p/3573603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值