中易网

除了String类,还有哪些类是final类?

答案:3  悬赏:80  
解决时间 2021-03-02 01:03
除了String类,还有哪些类是final类?
最佳答案
工具类一般都是final类,这些类创建后不需要作改变。
比如java.lang包里的Math, System, ProcessBuilder这些。
全部回答
最佳答案: 主要是为了“效率” 和 “安全性” 的缘故。若 string允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所以string被定义成final。 其它答案一: string和其他基本类型不同,他是个对象类型.既然是对象类型,如果是在静态方法下是必须调用静态方法或值的,如果是非静态的方法,就必须要实例化. main函数是个static的.所以string要能像其他的基本类型一样直接被调用.这也是为什么在main函数下使用string类型不会报告错误的原因.. 一下就解释了两个心里的疑问.. 以前一直觉得奇怪,为什么string是对象类型在main函数下却是不需要实例化的.再次佩服java设计人员想得真周到. 其它答案二: 当定义string类型的静态字段(也成类字段),可以用静态变量(非final)代替常量(final)加快程序速度。反之,对于原始数据类型,例如int,也成立。 例如,你可能创建一个如下的string对象: private static final string x = "example"; 对于这个静态常量(由final关键字标识),你使用常量的每个时候都会创建一个临时的string对象。在字节代码中,编译器去掉”x”,代替它的是字符串“example”,以致每次引用”x”时vm都会进行一次哈希表查询。 相比之下,度于静态变量(非final关键字),字符串只创建一次。仅当初始化“x”时,vm才进行哈希表查询。 还有另一个解释: 带有final修饰符的类是不可派生的。在java核心api中,有许多应用final的例子,例如java.lang.string。为string类指定final防止了人们覆盖length()方法。 另外,如果指定一个类为final,则该类所有的方法都是final。java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50%。 示例: public class test { public static void main(string[] args) { // } } 如果string 不是final 那么就可以继承 public class string2 extends string{ // .. // ... } 那我们的 main也就可以写成 public class test { public static void main(string2[] args) { // 注意此处 // } }
Java中自带的有Long,Integer,Boolean等,在JAVA中final 修饰的类不可以被继承,你也可以自己定义final类
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
先在QQ上加你 再让你听留言 是不是骗人的?
天猫6239交易平台可信吗
电动车的充电器炸了一次后电瓶还有用吗?还能
尼勒克县国土局西部中心所在哪里啊,我有事要
牙齿痛,嘴巴突然很臭是什么原因?
辣妈同盟原创秘制麻辣烫牡丹江直营店001在哪
我是山东省2016年的文科生,高考考了361分,
已知正六边形外接圆的半径为R , 则这个正六边
六分之五除以2等于多少
0371澳门豆捞巩义店在什么地方啊,我要过去处
Mark Twin once said: “ The dictionary is
相同的两个长方形可以拼成一个正方形对吗
寿山石大摆件价格是多少
在家里挂着风筝好吗
我想做一个机票订单的报表,如何在数据库中查
推荐资讯
求格力空调遥控器,型号:Y502k的使用说明书
从化州到四川四川达州的火车怎么样方便
奔驰2015款E320L豪华型 4MATIC多少钱
彩岭在哪里啊,我有事要去这个地方
幼儿园装修预算是多少
卡车解密第27关怎么过 第27关通关方法
青岛有哪些著名公园
安徽省中医院感染性疾病科血液净化中心地址有
请问普通信鸽都什么价格..怎么有人说只25到50
全自动洗衣机进水系统快了,影响启动运作吗?
python svm训练得到的是一组支持向量和系数吗
如何自学平面设计设计才能尽快找到工作
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?