package Employee2;
import java.util.*;
public class Employee2{
//List列表在后面的章节会学习到,此处暂时理解为员工信息资源库对象
String name = ""; //姓名
int age =0; //年龄
int sex = 0; //性别
public Employee2(String name, int age, int sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public Person(String name, int sex, int age)
{
this.name = name;
this.sex = sex;
this.age = age;
}
//显示员工信息
public void show() {
for(int i=0; i<plist.size(); i++) {
System.out.println(
"name=" + p.name +", age=" + p.age + ",sex=" + p.sex);
}
}
//登记注册
public void put(){
plist.add(this);
}
public static void main(String[] args){
Employee2 zhangsan = new Employee2("zhangsan", 5, 8);
zhangsan.put();
Employee2 lisi = new Employee2("lisi", 8, 8);
lisi.put();
Employee2 wangwu = new Employee2("wangwu", 9, 8);
wangwu.put();
Employee2 dean = new Employee2();
dean.show();
}
}
我这些加粗的地方到底什么意思?另外帮忙改下错谢谢。
put add this Employee2 是这个对象吧 强转会不会出错
Person类的定义在哪里,没看到。
public Person(String name, int sex, int age)
{
this.name = name;
this.sex = sex;
this.age = age;
}
这个是Person类的构造函数么?怎么写在Employee2类里了。
static List plist = new ArrayList(); 定义列表
public Employee2() 这个是无参数空构造函数
Person p = (Person)plist.get(i); 从列表中取出下标 i 的元素,因为get返回的是object,所以需要转换为Person,但是Person的定义没有。
Person()这个类在外面重新定义一下,并且将类Employee2()继承Person()。
将在Employee2()类中的public Person()函数放在新定义的Person()类中
1、申明一个静态ArrayList数组来存储对象。
2、public Employee2() {} 为构造方法。在实例化的时候调用传值。
3、Person p = (Person)plist.get(i); 获取plist数组中的成员,并将其转化为person类型。
你没有定义person类,却写了一个person构造方法。
可以定义一个person类,然后employee2继承该类。
put add this Employee2是这个对象吧 强转会不会出错