在java中有一些类并不能被继承,我们可以通过这些不能继承的类设计一些只读的不可变类。Java中不能被继承的类有哪些?
在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的。
这是final的规定:
当你将final用于类身上时,一个final类是无法被任何人继承的,那也就意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要 进行修改或扩展。对于final类中的成员,你可以定义其为final,也可以不是final。而对于方法,由于所属类为final的关系,自然也就成了final型的。你也可以明确的给final 类中的方法加上一个final,但这显然没有意义。
例如:我们使用的String类,它也是不可被继承的类。
那我们就一起来看看这个问题,首先我们要知道,如果你要判断一个类是否可以被继承的话,你要知道这个类是如何被定义的,所以我们先来看看这个String类是如何被定义的:
以上就是这个String类的定义方式,我们可以明显的看到一个final修饰符!
如果说整个类都是final(在它的定义前冠以final关键字),就表明自己不希望从这个类继承,或者不允许其他任何人采取这种操作。换言之,出于这样或那样的原因,我们的类肯定不需要进行任何改变;或者出于安全方面的理由,我们不希望进行子类化(子类处理)
以上是java什么类不能被继承的详细内容。更多信息请关注PHP中文网其他相关文章!