字符型变量占用的字节大小(理解字节和字符的区别以及访问修饰符的种类)
小编这里整理了一些关于分布式,微服务,性能优化,Spring,MyBatis的等源码知识点的视频资料和java面试题(附答案),分享给大家。需要可以关注我,然后私信关键词“学习”获取哦!关注 转发,私信“学习”获取!
我们进入下文:
字节:
1、bit=1 二进制数据0或1
2、byte=8bit 1个字节等于8位 存储空间的基本计量单位
3、一个英文字母=1byte=8bit 1个英文字母是1个字节,也就是8位
4、一个汉字=2byte=16bit 1个汉字是两个字节,也就是16位
字符:
Java采用Unicode来表示字符,java中的一个char是2个字节,一个中文或英文字符的unicode编码都占2个字节,但如果采用其他编码方式,一个字符占用的字节数则各不相同。
在 GB 2312 编码或 GBK 编码中,一个英文字母字符存储需要1个字节,一个汉子字符存储需要2个字节。
在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。
在UTF-16编码中,一个英文字母字符存储需要2个字节,一个汉字字符储存需要3到4个字节(Unicode扩展区的一些汉字存储需要4个字节)。
在UTF-32编码中,世界上任何字符的存储都需要4个字节。
java类的访问修饰符
1、java中外部类的访问修饰符有如下四种:
public,默认,abstract,final
// public,默认,abstract,final。 public class Test1 {} class Test2{} abstract class Test3{} final class Test4{}
- 其中public表示任意位置都可以访问该类;
- 不写表示默认访问修饰符,即在同一个包中可以访问;
- abstract是表示该类为一个抽象类,不能实例化该类,即不能使用Test3 test3 = new Test3();的方式获取Test3的实例。如果要使用它则需要找一个类继承该类;
- final表示该类不能被子类继承,该类即为最终类,不可再被继承。
2、为什么不能用private和protected修饰外部类呢?
1、private:用private修饰外部类,表示该外部类不能被其他类访问,那么定义这个类就失去了意义,所以private只能修饰内部类。内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public)。当一个内部类使用了private修饰后,只能在该类的外部类内部使用。
2、protected:受保护的类,同一个包内或者不同包内的子类可以访问。如果一个类被protected修饰,外部类无法访问,那又如何继承。所以用protected也是没有意义的
最后,需要架构资料可以关注与私信我哦!
记得回复“学习”领取!
我是小架,我们下篇文章见!
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com