abstract class Teacher {
String name,birthday,depart,responsibility,wagenum;
public Teacher (String n,String de) {
name=n;
depart=de;
}
public String getName() {
return name;
}
public String getDepart() {
return depart;
}
public abstract String getResponsibility();
}class LibTeacher extends Teacher {
public LibTeacher(String n,String de,String sex1,String ze1 ) {
super(n,de);
sex=sex1;
responsibility=ze1;
}
public String getResponsibility() {
return "LibTeacher's responsibility is:" +responsibility;
}
    String sex;
}class TeaTeacher extends Teacher {
public TeaTeacher(String na,String birthday1,String de,String ze2) {
super(na,de);
birthday=birthday1;
responsibility=ze2;
}
public String getResponsibility() {
return "TeaTeacher's responsibility is:" +responsibility;
}
}class ExpTeacher extends Teacher {
public ExpTeacher(String na,String de,String subject1,String wagenum1,String ze3) {
super(na,de);
subject=subject1;
wagenum=wagenum1;
responsibility=ze3;
}
public String getResponsibility() {
return "ExpTeacher's responsibility is:" +responsibility;
}
String subject;
}public class AboutTeacherTest{
public static void main(String args[]) {
Teacher te[]=new Teacher[3];
te[0]=new LibTeacher("M","理工系_A","MAN","英语");
te[1]=new TeaTeacher("J","1986-03-12","理工系_B","数据结构");
te[2]=new ExpTeacher("sunwxb","理工系_C","JAVA","007","操作系统");
for(int i=0;i<=te.length;i++) {
Teacher z=te[i];
System.out.println(z.getName() +"\t"+z.getDepart()+"\t"+z.getResponsibility()+"\t;");

}

}
}

解决方案 »

  1.   

    这里,你的数字只有3个 ,你却 弄到 te[3];
    改成 i < te.length; 
    即可for(int i=0;i <=te.length;i++) {
    Teacher z=te[i];
    System.out.println(z.getName() +"\t"+z.getDepart()+"\t"+z.getResponsibility()+"\t;");
      

  2.   

    ArrayIndexOutOfBounds异常,修改下标
      

  3.   

    for(int i=0;i <=te.length;i++) 
    改成for(int i=0;i <te.length;i++) 或者
    for(int i=1;i <=te.length;i++) {
    Teacher z=te[i-1];}