前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >初级JAVA:String类为什么是final的?

初级JAVA:String类为什么是final的?

作者头像
葆宁
发布于 2022-05-06 09:10:36
发布于 2022-05-06 09:10:36
3480
举报
文章被收录于专栏:FREE SOLOFREE SOLO

String类为什么是final的?

被final修饰的类不能被继承,即它不能拥有自己的子类;被final修饰的方法不能被重写;final修饰的变量,无论是类属性、对象属性、形参还是局部变量,都需要进行初始化操作。类属性可以理解为一个将一个类作为另一个类的属性。

主要是为了安全性和效率的缘故,因为:

1、由于String类不能被继承,所以就不会没修改,这就避免了因为继承引起的安全隐患;

2、String类在程序中出现的频率比较高,如果为了避免安全隐患,在它每次出现时都用final来修饰,这无疑会降低程序的执行效率,所以干脆直接将其设为final一提高效率;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
为什么Java里面String类是不可变的
在Java里面String类型是不可变对象,这一点毫无疑问,那么为什么Java语言的设计者要把String类型设计成不可变对象呢?这是一个值得思考的问题。
我是攻城师
2019/03/06
7520
为什么Java里面String类是不可变的
【美团一面】为什么用final修饰String
final可以修饰类,方法和变量,并且被修饰的类或方法,被final修饰的类不能被继承,即它不能拥有自己的子类,被final修饰的方法不能被重写, final修饰的变量,无论是类属性、对象属性、形参还是局部变量,都需要进行初始化操作。
JavaEdge
2021/10/18
1.7K0
【小家java】String类为什么要设计成final?不可变有什么优点?
要了解为什么,首先我们得分析一下final修饰类,这个类有什么特点呢? 从安全上讲:
YourBatman
2019/09/03
5360
【小家java】String类为什么要设计成final?不可变有什么优点?
Java基础巩固计划
3.26-4.1 JVM 虚拟机的内容写五篇博客 解决以下问题: 1. Java的内存模型以及GC算法 2. jvm性能调优都做了什么 3. 介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明 4. 介绍GC 和GC Root不正常引用。 5. 自己从classload 加载方式,加载机制说开去,从程序运行时数据区,讲到内存分配,讲到String常量池,讲到JVM垃圾回收机制,算法,hotspot。反正就是各种扩展 6. jvm 如何分配直接内存, new 对象如何不分配在堆而是栈上,常量池解
Janti
2018/04/10
9120
string类的实现
只有返回一个引用,才可以允许连续赋值。否则如果函数的返回值是void,应用该赋值运算符将不能做连续赋值。假设有3个CMyString的对象:str1、str2和str3,在程序中语句str1=str2=str3将不能通过编译 。若只是两个对象之间的赋值,返回值为void也可以达到效果。
Christal_R
2021/04/09
5150
string类的实现
Java并发关键字-final
final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类。即使能够知道final具体的使用方法,final在多线程中存在的重排序问题很容易忽略,希望能够一起做下探讨。
Java架构师必看
2021/07/14
7190
java final 的一些总结
C++ 也有final关键字,在C++11及以后的标准中引入了final,final关键字用于修饰类、成员函数和虚函数,表示它们是最终版本,不能被继承或重写。
潇洒
2023/10/20
1400
深入理解String类
在Java中String类的使用的频率可谓相当高。它是Java语言中的核心类,在java.lang包下,主要用于字符串的比较、查找、拼接等等操作。如果要深入理解一个类,最好的方法就是看看源码:
java技术爱好者
2021/05/07
3560
Java程序员面试之---String类型
相信大家在平时的JAVA面试中经常遇见String类型是什么?String类型是基础类型吗?今天就给大家分享下JAVA中String类型常见的面试题!
Rookie
2020/12/18
4740
java string与stringbuffer的区别_string类和stringbuilder类的区别
简单地说,就是一个变量和常量的关系。StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
全栈程序员站长
2022/09/30
2700
在java中String类为什么要设计成final?
String很多实用的特性,比如说“不可变性”,是工程师精心设计的艺术品!艺术品易碎!用final就是拒绝继承,防止世界被熊孩子破坏,维护世界和平!
用户1205080
2018/09/12
1.2K0
在java中String类为什么要设计成final?
【Java学习笔记之二十】final关键字在Java继承中的用法小结
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。 一、final关键字的基本用法 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。 1、修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。fi
Angel_Kitty
2018/04/09
7870
【Java学习笔记之二十】final关键字在Java继承中的用法小结
java中final关键字的作用
被final关键字修饰的类不能被继承,被final关键字修饰的类属性和类方法不能被覆盖(重写);
用户7886150
2020/12/13
5940
学习笔记-JAVA-final关键字考点
final可以修饰成员变量,也可以修饰局部变量、形参。final变量一旦获得初始值之后,final的变量就不能被重新赋值。
陈黎栋
2020/02/18
3360
在java中String类为什么要设计成final?Java面试常见问题
其实在Java中,String类被final修饰,主要是为了保证字符串的不可变性,进而保证了它的安全性。那么final到底是怎么保证字符串安全性的呢?接下来就让我们一起来看看吧。
IT千锋教育
2023/05/24
4370
在java中String类为什么要设计成final?Java面试常见问题
Java语法手册 三(面向对象)
Java中的类是将现实世界中的概念模拟到计算机中 在Java中创建一个类 要使用: class,一个类名,一对大括号{};
Java_慈祥
2024/08/06
1000
聊聊并发编程:final关键字
final可以修饰变量,方法和类,也就是final使用范围基本涵盖了java每个地方,我们先依次学习final的基础用法,然后再研究final关键字在多线程中的语义。
烂猪皮
2023/09/04
1840
聊聊并发编程:final关键字
String 的不可变真的是因为 final 吗?
String 为啥不可变?因为 String 中的 char 数组被 final 修饰。这套回答相信各位已经背烂了,But 这并不正确!
飞天小牛肉
2021/04/09
5980
String 的不可变真的是因为 final 吗?
浅析Java中的final关键字
  谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:   一.final关键字的基本用法   二.深入理解final关键字   若有不正之处,请多多谅解并欢迎指正。 一.final关键字的基本用法   在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用
Spark学习技巧
2018/03/20
1K0
浅析Java中的final关键字
Java中的String类能否被继承?为什么?
不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。 Java对String类的定义: public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // 省略...  } final修饰符的用法: 1.修饰类   当用final修饰一个类时,表明这个类不能被继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的
nnngu
2018/03/15
2K0
Java中的String类能否被继承?为什么?
相关推荐
为什么Java里面String类是不可变的
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档