2. 设计一个包含5个类的Java程序,名为Person的父类有两个子类,学生类Student和员工类Employee。
*Employee类有两个子类,教师类Faculty和 职员类Staff。所有人都有编号ID、姓名和电子邮件地址。
学生类Student有班级状态(大一、大二、大三或大四)。教师类Faculty有主讲课程、专业信息。
职员类Staff有职务信息。覆盖每个类中的toString()方法,输出相应的类名、编号ID和姓名。
编写一个测试程序,随机创建5个Student、Faculty或Staff对象,放在一个数组或者Vector类对象中
,依次调用他们的toString()方法显示信息。(提示,查询Java生成随机数方法
;Java中对象容器类Vector。)
*/
pacakge com.itheimal;
import java.util.Iterator
import java.util.Vector;
abstract class Person {
public Person(int m_id,String m_name,int m_email){
id=m_id;
name=m_name;
email=m_email;
}
private int id;
private int email;
public abstract String toString();
}
class Student extends Person{
public String statue;//班级状态(大一、大二、大三或大四)
public Person(int m_id,String m_name,int m_email){
super(m_id, m_name, m_email);
}
public String toString(){
System.out.println("创建一个Student类"+id+","+name);
}
}
class Employee extends Person{
public Person(int m_id,String m_name,int m_email){
super(m_id, m_name, m_email);
}
public String toString(){
System.out.println("创建一个Employee类"+id+","+name);
}
}
class Faculty extends Employee{
public String classes;//主讲课程
public String subjet;//专业信息
public Person(int m_id,String m_name,int m_email){
super(m_id, m_name, m_email);
}
public String toString(){
System.out.println("创建一个Faculty类"+id+","+name);
}
}
class Staff extends Employee{
public String post;//职务
public Person(int m_id,String m_name,int m_email){
super(m_id, m_name, m_email);
}
public String toString(){
System.out.println("创建一个Staff类"+id+","+name);
}
}
public class lei {
public static void main(String[] args) {
Person v=new Vector ( );
v.addElement(1001,"zhao",null);
v.addElement(1002,"qian",null);
v.addElement(1003,"sun",null);
v.addElement(1004,"Li",null);
v.addElement(1005,"wu",null);
Iterator<Vector> v = v.iterator();
while (V.hasNext()){
if((int)(math.random()*3==0)
v.next=new student();
else if((int)(math.random()*3==1)
v.next=new faculty();
else
v.next=new staff();
}
System.out.println(v.toString())
}
}
第一次使用Vector,不知道怎么用,编译没问题,输出不了结果