ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

1.3 Java面向对象——对象可作为方法参数传递及方法的返回类型

2021-12-23 18:02:23  阅读:128  来源: 互联网

标签:Java student 1.3 对象 0x11 参数传递 stu Student public


Java面向对象——对象可作为方法参数传递及方法的返回类型

代码演示:对象可作为方法参数传递

  • 对象看作一个地址(整体),地址中包含着对象的姓名及年龄…
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喜欢运动!

标签:Java,student,1.3,对象,0x11,参数传递,stu,Student,public
来源: https://blog.csdn.net/weixin_47692173/article/details/122048718

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有