Java的核心要领就是面向对象而言,所以对于Java初学者来说,理解对象的内涵十分重要。 可以这样理解,类是汽车图纸,而对象则是汽车实体。一般来说,类中的方法是通过对象去调用,从而达到预期的效果。
下面来理解对象的创建语句 Student st = new Student();
对于new Student(); 表示在堆内存创建一个对象,画下图所示:
而 Sudent st = new Student(); 表示把对象的首地址赋给变量st,所以st会指向对象的地址,如下图:
所以从表面理解,st就是Student的对象,但是实际上st指向对象的地址。
另外补充: Student st=new Student();
new Student是在堆内存中创建一个对象
st则是在栈内存中被声明,然指向堆内存的对象,所以st并不是真正的对象,只是可以间接地
充当对象的名称
当同一个类创建不同的对象时,有不同的存储空间(但对象的内容是相同的,只是各自互不影
响)
Student st1=new Student();
st指向堆内存的一个对象,st1指向一个对象。这两个对象内容相同,但是存储地址不同
当改变st对象中变量的值是,st1对象中变量的值不受影响