美文网首页
是否可以继承String类,为什么

是否可以继承String类,为什么

作者: 何鹏辉 | 来源:发表于2021-09-26 15:41 被阅读0次

    不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。

    详细解析:

    1. 关于final修饰符

    根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。

      final类不能被继承,没有子类,final类中的方法默认是final的。

      final方法不能被子类的方法覆盖,但可以被继承。

      final成员变量表示常量,只能被赋值一次,赋值后值不再改变。

      final不能用于修饰构造方法。

      注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。

    如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。

      使用final方法的原因有二:

      第一、把方法锁定,防止任何继承类修改它的意义和实现。

      第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。

    final和static的区别:

    很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变。

    相关文章

      网友评论

          本文标题:是否可以继承String类,为什么

          本文链接:https://www.haomeiwen.com/subject/kudvgltx.html