深入理解带参方法-----对象作为参数的方法

在了解过普通的带参方法后,我们再次将视角拉到深入带参方法中。

在数组作为参数的方法里面我们知道了可以将多个学生的成绩添加到数组中并打印出来,

那么如果现在不仅要添加学生的成绩,还要添加学生的年龄和成绩,如何实现呢?

面对这样的问题我们就可以使用面向对象的思想,把所有要添加的学生信息封装到学生类中,只需要在方法中传递一个学生对象就可以包含所有的信息。

接下来就来看看到底应该怎样实现吧。

 1 public class Student {
 2     //学生类
 3     public int id;
 4     public String name;
 5     public int age;
 6     public int score;
 7     public void showinfo(){
 8         System.out.println(id+"\t"+name+"\t"+age+"\t"+score);
 9     }
10
11
12 public class StudentsBiz {
13     /**
14      * 学生管理类
15      */
16     Student[] students = new Student[30];
17
18     //增加学生
19     public void addstudent(Student stu){
20         for (int i = 0; i < students.length; i++) {
21             if (students[i]==null) {
22                 students[i]=stu;
23                 break;
24             }
25         }
26     }
27
28     //显示本班的学生信息
29     public void showStudents(){
30         System.out.println("本班的学生列表");
31         for (int i = 0; i < students.length; i++) {
32             if (students[i]!=null) {
33                 students[i].showinfo();
34             }
35         }
36         System.out.println();
37     }
38
39
40
41 public static void main(String[] args) {
42         /**
43          * 对象作为参数的方法
44          * 示例5.
45          * 实例化学生对象并初始化
46          */
47           Student student1 = new Student();
48           student1.id=10;
49           student1.name="王二";
50           student1.age=18;
51           student1.score=99;
52
53           Student student2 = new Student();
54           student2.id=11;
55           student2.name="张三";
56           student2.age=18;
57           student2.score=100;
58
59           //新增学生对象
60           StudentsBiz biz = new StudentsBiz();
61           biz.addstudent(student1);
62           biz.addstudent(student2);
63           biz.showStudents();
64     }

面向对象的思想要提升绝非一时之功,得需勤加练习!

时间: 2024-08-06 03:41:25

深入理解带参方法-----对象作为参数的方法的相关文章

Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)

Eclipse中的快捷键快速生成常用代码(例如无参.带参构造,set.get方法),以及Java中重要的内存分析(栈.堆.方法区.常量池) 以上就是Eclipse中的快捷键快速生成常用代码(例如无参.带参构造,set.get方法),以及Java中重要的内存分析(栈.堆.方法区.常量池)的全部内容了,更多内容请关注:CPP学习网_CPP大学 本文固定链接:CPP学习网_CPP大学-Eclipse中的快捷键快速生成常用代码(例如无参.带参构造,set.get方法),以及Java中重要的内存分析(栈.

全面理解Javascript中Function对象的属性和方法

函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这些属性和方法,这对于理解Javascript的继承机制具有一定的帮助. 属性(Properties) arguments 获取当前正在执行的 Function 对象的所有参数,是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length.还有就是arguments对象存储的是实际传递给

OC基础--对象做参数在方法间传递

剧情描述: 美国大兵抗把汉阳造 拿着5个弹夹(每个弹夹5发子弹) 带着弟兄们干架 子弹打完了就求救 类: 士兵: 属性: 姓名(_name) 身高(_height) 体重(_weight) 行为: 开枪(fire) 求救(callForHelp) 枪: 属性: 弹夹(_clip) 弹夹数量(_clipNum) 品牌(_model) 行为: 换弹夹(changeClip) 发射子弹(shot) 弹夹: 属性: 子弹数量(_bulletCount) 行为: 装子弹(addBullet) 方法说明:

JavaScript三种方法获取地址栏参数的方法

今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数. 后来想了一下,肯定会有更加简单的方法的!所以在网上找到了两个很又简单实用的方法,mark下 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*

类的无参带参方法、变量作用域、JavaDoc文档注释、包

如何定义类的方法 public 返回值类型 方法名(){ //方法的主体 } return:  如果有返回值      跳出方法.返回结果. 如果一个方法有返回值的话,那调用这个方法就会得到这个方法的返回值 方法名一般采用驼峰命名法 Admin admin = new Admin(); 对象是通过类来创建出来的,所以对象的类型是  Admin    也就是说 类是对象的类型 admin.方法名();      //调用无参的构造方法 同一个类中的方法,直接使用方法名调用该方法 不同类的方法,首先

oracle中带参存储过程的使用

Oracle中存储过程带参分为:输入参数(in)和输出参数(out) 例如: 1 create or replace procedure out_test(v_user in emp.user_name%type, 2 v_salary out emp.salary%type, 3 v_deptno out emp.emp_deptno%type) as 4 begin 5 select salary, emp_deptno 6 into v_salary, v_deptno 7 from em

Android(java)学习笔记107:通过反射获得带参构造方法并且使用

1 package cn.itcast_02; 2 3 import java.lang.reflect.Constructor; 4 5 /* 6 * 需求:通过反射去获取该构造方法并使用: 7 * public Person(String name, int age, String address) 8 * 9 * Person p = new Person("林青霞",27,"北京"); 10 * System.out.println(p); 11 */ 12

Python3.2官方文档翻译--实例对象和方法对象

6.3.3 实例对象 如今我们用实例对象做什么呢?实例对象唯一可用的操作就是属性引用.如今有两种合法的属性名称:数据属性和方法. 数据属性相当于smallTalk中的实例变量,C++中的数据成员.数据属性不须要申明.像局部连梁一样,当他们初次赋值的时候他们就存在了.比如,假设x是上面创建MyClass类的一个实例, 以下的代码块表示将会打印值16.这个值没有不论什么错误. x.counter = 1 while x.counter < 10: x.counter = x.counter*2 pr

带参数的方法

带参数的方法 1.语法: <访问修饰符>放回值类型<方法名><(形式方法列表)>{ //方法的主体     } 2.调用带参方法 语法:对象名.方法名(参数1,参数2.....参数N)