首页 >Java >java教程 > 正文

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

原创2019-12-31 16:31:1602196

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

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

这是final的规定:

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

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

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

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

String,

StringBuffer,

StringBuilder,

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

等等。

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

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

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

推荐学习:Java视频教程

以上就是java中不能继承的类有哪些?的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:java
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    青灯夜游

    今天学习一小步,明天提升一大步

    最近文章
    php怎么判断有几位小数441
    php中转换首字母大写的函数是什么369
    Javascript怎么检查对象是否为空890
    推荐视频教程
  • JAVA 初级入门视频教程JAVA 初级入门视频教程
  • 全面解析Java注解全面解析Java注解
  • Java多线程与并发库高级应用视频教程Java多线程与并发库高级应用视频教程
  • 极客学院Java8新特性视频教程极客学院Java8新特性视频教程
  • 最新Java完整视频教程最新Java完整视频教程
  • 视频教程分类