原始数据类型
Java中原始数据类型有8种:
类型 | 所占用字节数 |
---|---|
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
char | 2 |
boolean | Jvm实现决定 |
引用数据类型
引用数据类型简单来说就是某个类的实例对象,例如:1Dog dog = new Dog();
其中创建的这个dog对象是存放在被称为堆的内存中,而且不同于普通的堆,而是可回收垃圾的堆(Garbage-Collectible Heap)。至于引用变量dog的值只是类似C语言中指针一样的东西,Jvm可以通过这个dog变量来操作位于堆上的dog对象。
1.Java中对象使用后设置为null可以减少内存占用吗?答案
方法
1.想到Java中对象一般都有getter和setter方法来存取属性,为什么不直接来操作属性反而添加这两个方法呢?
答案:使用getter的原因是某个属性在给其他程序用之前可以做一些处理;使用setter的原因是因为可以在setter方法中做限制,使该属性只能被设置为合法的值。
实例变量
这里所说的实例变量也就是类中定义的属性。实例变量(定义在类中)不像局部变量(定义在方法中)那样,即使没有初始化也可以直接使用,因为实例变量有默认值。8种原始类型+1种引用类型的实例变量默认值如下:
类型 | 默认值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0 |
float | 0.0 |
double | 0.0 |
char | ‘\u0000’(空字符) |
boolean | false |
references(引用类型) | null |
1.上面列出的都是Jvm定义的默认值,我们当然也可以在声明实例变量时就进行初始化,修改其默认值。
2.至于方法参数列表中的形数(parameter)则跟局部变量一样是没有初始化默认值的,其值完全取决于实参(argument)的值。