校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 项目框架 > springMVC
题目

String类能被继承吗,为什么?

解答

不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。

关于final修饰符,介绍如下:

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

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

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

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

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

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

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

使用final方法的原因有二:

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

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

C 4条回复 评论
奕杉

懂了懂了

发表于 2023-10-02 22:00:00
0 0
慨然思既往

技多不压身

发表于 2022-10-24 21:00:00
0 0
DaMeng

不能,被final修饰

发表于 2020-09-29 10:17:42
0 0
rprq

不能,属于不可变类

发表于 2020-09-29 10:07:04
0 0