程序猿食堂 潜水
  • 1发帖数
  • 1主题数
  • 0关注数
  • 0粉丝
开启左侧

JDK8源码解析-String-修饰符及接口实现(一)

[复制链接]
程序猿食堂 发表于 2021-8-24 21:46:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
[size=0.882em]源码解析基于jdk1.8.0_261进行分析


[size=0.882em]前言
[size=0.882em]String类是java出山时,就带出来的兄弟,在1.0版本,就有String类的出现,但并没有如今的Api丰富,从jdk1.0(1996)到jdk1.8(2016)用了18年的时间,廉颇虽老尚能战也
[size=0.882em]String是Java语言的核心类,位于rt.jar下java.lang包中,它提供了字符串的比力、查找、截取、大小写转换等操纵;Java语言为"+"连接符(字符串连接符)以及对象转换为字符串提供了特殊的支持,字符串对象可以使用”+"连接其他对象
[size=0.882em]如果饶有爱好的读者,可以看下String类注释,讲述了String的使用方式及它的作用,这里我们只讲源码.下面我们对String类源码整篇解读一下
[size=0.882em]类修饰符及接口实现
[size=0.882em]首先介绍下标记中每个关键字或接口出如今此处的意义
[size=0.882em]public:Java语言中访问限制最宽的修饰符,一般称之为"公共的"被其修饰的类、属性以及方法不但可以跨类访问,而且允许跨包(package)访问.
[size=0.882em]final 如果引用为基本数据范例,则该引用为常量,该值无法修改;
[size=0.882em]final 如果引用为引用数据范例,比如对象,数组,则该对象或数组本身可以修改,但指向该对象或数组的地点的引用不能修改;(栈中地点不可变)
[size=0.882em]final 如果引用时类的成员变量,需要在创建对象前进行赋值,否则在编译阶段就会报错.
[size=0.882em]final 修饰方法:当使用final修饰方法时,这个方法将成为终极方法,无法被子类重写,但该方法仍然可以被继承.
[size=0.882em]final 修饰类:当用final修改类时,该类成为终极类,无法被继承.即:不可派生类
[size=0.882em]java.io.Serializable:接口是一个标志性接口,在接口内部没有定义任何属性与方法.只是用于标识此接口的实现类可以被序列化与反序列化,在后期我们讲到时,会详细讲一下这个接口
[size=0.882em]java.lang.Comparable:强行对实现它的每个类的对象进行整体排序,这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比力方法,在后期我们讲到时,会详细讲一下这个接口
[size=0.882em]java.lang.CharSequence:字符序列,是一个形貌字符串结构的接口,此接口对多种不同的char访问的统一接口,CharSequence和String都可以定义字符串,但是String定义的字符串只能读,CharSequence定义的字符串是可读可写的
[size=1.176em]综上所述,总结下:

  • String 类不可被继承
  • String 类可在任意代码中使用
  • String 类对象创建后不能修改
  • String 类可针对两个字符串进行比力

                               
登录/注册后可看大图



更多好文请看:IBO-JDK8源码解析-String 类(一)

精彩评论1

富马2 发表于 2021-8-25 06:25:59 | 显示全部楼层
转发了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
在线客服邮箱
wxcy#wkgb.net

邮箱地址#换为@

Powered by 创意电子 ©2018-现在 专注资源实战分享源码下载站联盟商城