黑马程序员技术交流社区

标题: 课后的一道题~ [打印本页]

作者: boom_pm2.5    时间: 2016-11-16 23:45
标题: 课后的一道题~

上干货~


总结一道题:分析以下需求,并用代码实现:
        (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 方法,都需要向下转型







作者: 小牛想成为大牛    时间: 2016-11-17 01:02
可以,学的挺踏实




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2