java篇之final由变量入方法到类

深入理解Java final关键字
本文详细解析了Java中final关键字的使用,包括final变量、final方法及final类的特点与限制,探讨了final如何确保代码的不可变性和提高方法执行效率。

一、final变量

        final关键字可以用于变量的声明,一旦变量被设定,就不可以再改变该变量的值,由final定义的变量为常量。

        final除了修饰基本数据类型,还可以修饰对象引用,所以final可以用来修饰数组。final修饰了数组,无法将其改变以指向另一个对象。

       注:①  被final定义的常量在定义时需要使用大写字母定义,并且中间使用下划线进行连接(缺一不可)。

              ②  定义为fianl的常量不是恒定不变的,只有static final 形式,在内存中才会开辟一块恒定不变的区域。

二、final 方法

     定义为final的方法是不可以被重写的。

     将方法定义为final类型可以防止子类修改该类的定义与实现方式,同时,定义为final的方法的效率要高于非final方法。

    如果在父类中定义了一个private final 的doit()方法,同时在子类中定义了一个doit()方法,表面上来看,子类中的doit()方法覆盖了父类中的doit()方法。

     但是,覆盖必须满足:一个对象的向上转型为他的基本类型并调用相同方法。

三、final类

     看完final变量和final方法的介绍,想必大家都能猜到final类了吧。

     没有错,相信你自己,你就是对的,定义为final的类是不能被继承的。

    如果你想要一个类不允许任何一个类继承,并且不允许其他人对这个类进行任何改动,可以将这个类设置为final形式。

     但是在设置时你需要注意的是,final类中的所有方法都会被隐式的设置为final形式的哦,但是final中的成员变量则是任意的。

 

 

总结:final定义的一切东西,只有在特定情况下才允许被操作,否则就是不可侵犯的。

 

       

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值