本文主要是介绍Thinking in Java [Java编程机制] 学习笔记 -- 变量和对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Thinking in Java [Java编程机制] 学习笔记 -- 变量和对象
书中说到“You manipulate all objects with references”,在java中,对象存在于heap中,所有对object的操作是由存在Stack里的reference(引用)来表示的。
Java 中,对object实例化的操作是用new来实现的,但是也有一些情况像是String s = "abc"; 也是创建了一个对象,并且s是对String对象“abc”的一个引用。
关于String对象,有一点要说明的就是,它是immutable objects。也就是说对String的修改只会创建出一个新的String而不会修改原String对象。
为什么要有immutable objects?
Immutable objects are particularly useful in concurrent applications. Since they cannot change state, they cannot be corrupted by thread interference or observed in an inconsistent state.
Java中还有一类变量,创建她们并不是使用new,她们也不是引用而是一个实实在在的变量。她们被称作Primitive data type.
Java中对这些变量定义如下表
如果想在堆中创建她们,并使用她们引用的话,可以使用她们对应的Class来创建。
关于各个变量的默认值,如下表:
Data Type | Default Value (for fields) |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | ‘u0000′ |
boolean | false |
Object (any object) | null |
String (is a object) | null |
Array (is a object) | null |
未实例化的变量在C++中是警告,在Java中会报错。
这篇关于Thinking in Java [Java编程机制] 学习笔记 -- 变量和对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!