3.2.2对象的创建与使用下面通过一个案例学习对象属性的访问和方法的访问。具体代码如下所示案例演示Iclass Student(2String name;/声明姓名属性3void reado(4System.out.println("大家好,我是+name);516)7publicclassExample01(8publicstaticvoidmain(Stringargs)(9Studentstu1=newStudentO;//创建第一个Student对10Studentstu2=newStudentO;//创建第二个Student对象11stu1.name="小明";//为stu1对象的name属性赋值12//调用对象的方stul.readO;法13stu2.name="李华”14stu2.read0;15116)
3.2.2 对象的创建与使用 案例演示 下面通过一个案例学习对象属性的访问和方法的访问。具体代码如下所示。 1class Student { 2 String name; // 声明姓名属性 3 void read() { 4 System.out.println("大家好,我是" + name); 5 } 6} 7public class Example01 { 8 public static void main(String[] args) { 9 Student stu1 = new Student(); // 创建第一个Student对象 10 Student stu2 = new Student(); // 创建第二个Student对象 11 stu1.name = "小明"; // 为stu1对象的name属性赋值 12 stu1.read(); // 调用对象的方 法 13 stu2.name = "李华"; 14 stu2.read(); 15 } 16}
3.2.2对象的创建与使用案例运行结果运行代码,控制台显示的运行结果如下图所示。文Example01Run:"c:\ProgramFileslJavaljdk-11.0.11\binljava.exe"大家好,我是小明大家好,我是李华Process finished with exit code
3.2.2 对象的创建与使用 案例运行结果 运行代码,控制台显示的运行结果如下图所示
3.2.2对象的创建与使用案例运行结果分析由上图所示的运行结果分析可知,stu1对象和stu2对象在调用read0方法时,打印的name值不相同。这是因为stu1对象和stu2对象在系统内存中是两个完全独立的个体,它们分别拥有各自的name属性,对stu1对象的name属性进行赋值并不会影响到stu2对象name属性的值
3.2.2 对象的创建与使用 由上图所示的运行结果分析可知,stu1对象和stu2对象在调用read()方法时,打印 的name值不相同。这是因为stu1对象和stu2对象在系统内存中是两个完全独立的 个体,它们分别拥有各自的name属性,对stu1对象的name属性进行赋值并不会影 响到stu2对象name属性的值。 案例运行结果分析
3.2.2对象的创建与使用stu1对象和stu2对象的内存变化如下图所示。对象运行后内存变化分析使用ne开辟堆内存空间Student stul new StudentO:堆内存Studentstu2=newStudentO:由图可知,程序分别实例化name-"小明":指向对应的了两个Student对象stu1和堆内存空间内存name"季华”stulstu2stu1和stu2分别指向stu2各自的堆内存空间
3.2.2 对象的创建与使用 stu1对象和stu2对象的内存变化如下图所示。 由图可知,程序分别实例化 了两个Student对象stu1和 stu2,stu1和stu2分别指向 各自的堆内存空间。 对象运行后内存变化分析
3.2.3对象的引用传递先定一个小目标!掌握对象的引用传递,能够说明引用传递对象在内存中的变化
3.2.3 对象的引用传递 先定一个小 目标! 掌握对象的引用传递,能够说明引用传递 对象在内存中的变化