上干货~
总结一道题:分析以下需求,并用代码实现:
(1)定义一个Worker类型(属性私有、空参有参构造、set、get方法、toString方法),
包含三个属性:姓名(String name)、年龄(int age)、工资(double salary),
在Worker类中定义work方法打印一句话,
如:"凤姐 正在工作",其中"凤姐"代表当前对象的姓名
(2)定义List集合,在List集合中增加三个员工,基本信息如下:
"凤姐" 18 20000
"欧阳峰" 60 8000
"刘德华" 40 30000
(3)在"欧阳峰"之前插入一个员工,信息为:姓名:"张柏芝",年龄:35,工资3300
(4)删除"刘德华"的信息
(5)利用for 循环遍历,打印List 中所有员工的信息
(6)利用迭代遍历,对List 中所有的员工调用work 方法
主代码区:
import java.util.ArrayList;
public class HomeWork04 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Worker("凤姐",18,20000));
list.add(new Worker("欧阳锋",60,8000));
list.add(new Worker("刘德华",40,30000));
list.add(1,new Worker("张柏芝",35,3300) );
System.out.println(list);
list.remove(3);
for (int i = 0; i < list.size(); i++) {
System.out.println(((Worker)list.get(i)).getName()+",年龄是:"+((Worker)list.get(i)).getAge()+
",工资是:"+((Worker)list.get(i)).getSalary()+".");
}
Iterator it = list.iterator();
while (it.hasNext()) {
((Worker)(it.next())).work();
}
}
}
Worker类 代码区:
public class Worker {
private String name;
private int age;
private double salary;
public Worker() {
super();
// TODO Auto-generated constructor stub
}
public Worker(String name, int age, double salary) {
super();
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public void work() {
System.out.println(name+"正在工作");
}
@Override
public String toString() {
return "Worker [name=" + name + ", age=" + age + ", salary=" + salary
+ "]";
}
}
思路:
1,首先创建Worker类,中间定义它的参数构造,
2.在主类中创建一个集合,中间放他们中的元素.
3,将Worker 通过匿名类的方式 创建 然后通过他的有参构造来给他 初始化.
4,迭代输出
注意点:
迭代中返回 的 数据类型是被 向上转型成了 Objec 类,所以在调用Worker 这个子类对象中的
set,get方法,work 方法,都需要向下转型
|
|