JAVA——部分类&包&权限

119 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,[点击查看活动详情]

StringBuffer类&StringBuilder类

String是固定长度的且不能修改内容的字符串
StringBuffer和StringBuilder是可以修改内容的字符串,可以扩容。
StringBuffer和StringBuilder的方法都是一样的。
唯一的区别就在于适用的场景不同,StringBuffer适用于多线程,StringBuilder适用于单线程。
StringBuilder是线程不安全的,没加锁(同步锁)效率高。StringBuffer是线程安全的,加锁(同步锁)效率低。
StringBuffer和StringBuilder也称为字符缓冲区(动态扩容的数组)如果扩容的次数越多意味着所用过的数组越多,垃圾越多。StringBuffer和StringBuilder产生的垃圾主要在堆内存,String产生的垃圾主要在方法区(字符串常量池)
JVM:GC(垃圾收集器)在堆内存中活跃程度比在方法区的活跃程度要大很多,也就GC在堆内存中回收垃圾的效率比在方法区高。研读StringBuilder的源码(长按Ctrl)将常用的函数具体实现用文字语言描述。

基本数据类型包装类

基本数据类型包装类,所有皆对象,byte针对的类是Byte,short针对的类是Short,int针对的类是Integer,long针对的类是Long,float针对的类是Float,double针对的类是Double,char针对的类是Character,boolean针对的类是Boolean.\研读Integer源码

包:是一系列的文件夹。包名必须全小写,包名与包名之间用.来分隔。
包的作用:用于分类代码。
JAVA类:主类/测试类(运行当前的程序,main),实体类(描述事物的类),工具类(数学工具类,数组工具类(不需要创建对象,只需要通过他的类名调用他的函数)大部分是静态函数,静态变量)
service包:存放业务代码
entity包:存放实体类代码
util包:存放工具类代码\ 业务逻辑代码,底层逻辑代码

权限

公共权限:public

最大,本类中可以调用,本包中可以调用,在其他包中可以调用,其他包中有继承可以调用。在当前项目中,都可以访问。

保护权限:protected

本类中可以调用,本包中可以调用,其他包中有继承可以调用。本包中可以访问,无论继承。其他包中只能继承访问。

默认权限:不写

本类中可以调用,本包中可以调用.只能在本包中访问,无论继承。

私有权限:private

最小,本类中可以调用.只能在本类中访问。