java 不能继承的类_java中不能继承的类有哪些?

本文详细解释了Java中final类的含义,为什么设计成final以遵循开闭原则,以及常见的如String等不可继承类实例。探讨了final类的定义特点和成员特性,以及它在确保代码稳定性和安全性上的作用。
摘要由CSDN通过智能技术生成

97b46086fab6434f086bdc20d6e6d29e.png

在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的。

因为jdk的开发者认为,有一些最基本的类没要必要对开发者开放,如果用户继承时操作有误,很可能引入很多问题。为了防止用户对基本类进行相应的扩展,也体现了java设计过程中的开闭原则,最终将这些类设计成为final的。

这是final的规定:当你将final用于类身上时,一个final类是无法被任何人继承的,那也就意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要

进行修改或扩展。对于final类中的成员,你可以定义其为final,也可以不是final。而对于方法,由于所属类为final的关系,自然也就成了final型的。你也可以明确的给final

类中的方法加上一个final,但这显然没有意义。

java中常见的不能被继承的类有如下:String,

StringBuffer,

StringBuilder,

基本类型的包装类如Double,Integer,Long

等等。

我们来看看这个String类是如何被定义的:

c549149905b1fc1a43262c22b0978811.png

以上就是这个String类的定义方式,我们可以明显的看到一个final修饰符!

如果说整个类都是final(在它的定义前冠以final关键字),就表明自己不希望从这个类继承,或者不允许其他任何人采取这种操作。换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值