对象的构造和初始化过程演示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Test test = new Test(); int intVal = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); test.change1(intVal); test.change2(d1); test.change3(d2); ……… public void change1(int i) {i = 1234;} public void change2(BirthDate b) {b = new BirthDate(22,2,2004);} public void change3(BirthDate b) {b.setDay(22);}
演示
Student s1; s1=new Student (“Lisa”, “Male”,1,18);
name s1 0x1a4afb null sex grade age
null “Lisa” null “male” 1 0 18 0
实 例(1)
class BirthDate { private int day; private int month; private int year; public BirthDate(int d, int m, int y) { day = d; month = m; year = y; } public void setDay(int d) {day = d;} public void setMonth(int m) {month = m;} public void setYear(int y) {year = y;} public int getDay() {return day;} public int getMonth() {return month;} public int getYear() {return year;} public void display() { System.out.println (day + " - " + month + " - " + year); }
实 例(2)
public class Test{ public static void main(String args[]){ Test test = new Test(); int intVal = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); test.change1(intVal ); test.change2(d1); test.change3(d2); System.out.println(" intVal =" + intVal ); d1.display(); d2.display(); } public void change1(int i){i = 1234;} public void change2(BirthDate b) {b = new BirthDate(22,2,2004);} public void change3(BirthDate b) {b.setDay(22);} }
对象的构造和初始化过程示例
• Student s1;---为引用类型变量分配引用空间 • new Student (”Lisa“,”Male“,1,18);
– 创建新对象,并进行属性(实例变量)的默认初始化 – 执行构造方法:将传递进来的参数的值分别赋给对象 属性 – 对引用类型变量s1赋值。将新创建的Student对象的存储 空间的首地址赋给s1
intVal的值没有 的值没有 变 d1的值没有变 d1的值没有变 d2的值改变了 的值改变了
?
intVal=9; 7 - 7 - 1970 22 - 1 - 2000
调用过程演示
堆内存
22 122 2 20041 2000 7 7 1970
栈内存
35475 20485 1234 9 change bi 58793 2 4 6 1 d2 35475 d1 58793 2 intVal 4 9 main test 11092 5
相关文档
最新文档