1。构造和初始化对象
eg:MyDate my_birth=new MyDate(28,9,2006);
my_birth | 0x01abcdef|----------|
|
day | 28|<- -------|
month | 9|
year | 2006|
MyDate my_birth只是声明一个引用,未分配任何内存空间
new MyDate(28,9,2006)声明一块内存空间并进行数据初始化
my_birth=new MyDate(28,9,2006);将引用指向已分配的内存空间,建立两者之间的关系
2。Java语言总是使用传值调用
即:java编程语言支持按值传递 参数的指针。
eg:public static void chV(double x)//无法工作的
{
x=x*3;
}
然后我们调用方法:
double y=10;
chV(y);
结果之中y还是10;
这样来理解执行过程:
public static void chV(y)
{double x;
x=y=10;
x=x*3;
}//方法结束,局部变量x销毁;
注意:当用对象的引用作为参数传递时可以改变对象的状态,因为传递进来的引用参数和临时引用指向了
同一个对象(即同一片内存空间)。
scjp:
几个容易忘记的关键字:const、enum、native、synchronized、transient、volatile
注意:true和false是Boolean字符,null也是字符,都不是关键字。
3。关于String
java中一个对象的地址用如此方法返回: System.identifyHashCode(Object a);