package opp; public class Student { String name; int age; public void eat(){ System.out.println("吃饭!"); } public void run(Student student){ // 4. student对象的地址:0x11 System.out.println(student.age+"岁的"+student.name+"喜欢运动!"); } }
package opp; public class StudentTest { public static void main(String[] args) { Student stu = new Student(); // 1. 在堆中开辟空间,对象名就是地址。假设对象 stu的地址:0x11 stu.name = "Java"; // 2.1 0x11 这块空间存放着对象的成员变量及方法 stu.age = 28; // 2.2 将默认属性进行赋值 stu.eat(); // 3.1 调用无参成员方法 stu.run(stu); // 3.2 调用有参成员方法 // (前者stu是对象。传参stu的地址:0x11,里面包含了成员属性及方法) } }
package opp; public class Student { String name; int age; public void eat(){ System.out.println("吃饭!"); } public void run(Student student){ // 4. student对象的地址:0x11 System.out.println(student.age+"岁的"+student.name+"喜欢运动!"); } }
package opp; public class StudentTest { public static void main(String[] args) { Student stu = new Student(); // 1. 在堆中开辟空间。假设对象 stu的地址:0x11 method(stu); // 2. 调用方法并传递地址(stu):0x11 } public static Student method(Student stu){ // 3. 该方法的类型是Student,其中形参地址:0x11 stu.name = "Java"; stu.age = 28; stu.eat(); // 4. 与代码(对象可作为方法参数传递)同理 stu.run(stu); return stu; // 5. 返回值类型与方法类型必须相同 } }
程序运行效果
吃饭! 28岁的Java喜欢运动!