为什么代码是错的呀,该怎么去修改它才可以运行出结果?
public class TestApp38 {
public static void main(String[] args) {
Student38[] students=new Student38[4] ;
students[0]=new Student38("1001","张三",60);
students[1]=new Undergraduate38("1002","李四",90,20);
students[2]=new Undergraduate38("1003","王五",80,50);
students[3]=new Foreign38("1004","赵六",70,30,"Pakistan");
for(Student38 student : students){
System.out.println(student);
}
}
}
public static class Student38 {
private String clsNum;
private String name;
private int avgscore;
private int xuefen;
private String country;
public Student38(){
}
public Student38(String clsNum,String name,int avgscore,int xuefen,String country){
this.clsNum=clsNum;
this.name=name;
this.avgscore=avgscore;
this.xuefen=xuefen;
this.country=country;
}
public String getClsNum() {
return clsNum;
}
public String getName() {
return name;
}
public int getAvgscore() {
return avgscore;
}
public int getXuefen() {
return xuefen;
}
public String getCountry() {
return country;
}
public String show(){
return ("clsNum="+clsNum+" name="+name+" avgscore="+avgscore+" xuefen"+xuefen+" country="+country);
}
}
public static class Undergraduate38 extends Student38 {
private String Specialty;
Undergraduate38(){
}
Undergraduate38(String clsNum,String name,int avgscore,int xuefen,String coutry,String Specialty){
super(clsNum,name,avgscore,xuefen,country);
this.Specialty=Specialty;
}
public String getSpecialty(){
return Specialty;
}
public String show(){
return(super.show()+"Specialty="+Specialty);
}
}
public static class Foreign38 extends Student38 {
private String direction;
Foreign38(){
}
Foreign38(String clsNum,String name,int avgscore,int xuefen,String country,String direction){
super(clsNum, name, avgscore, xuefen, country);
this.direction=direction;
}
public String getDirection(){
return direction;
}
public String show(){
return (super.show()+" direction="+direction);
}
}
}
我按照题目要求和你的源码修改了一下,你参考着看一下吧
public class TestApp38 {
public static void main(String[] args) {
Student[] students=new Student[4] ;
students[0]=new Student("1001","张三",60);
students[1]=new Undergraduate("1002","李四",90,20);
students[2]=new Undergraduate("1003","王五",80,50);
students[3]=new Graduate("1004","赵六",70,30,"Pakistan");
for(Student student : students){
System.out.println(student);
}
}
public static class Student {
private String clsNum;
private String name;
private int avgscore;
public Student(){
}
public Student(String clsNum,String name,int avgscore){
this.clsNum=clsNum;
this.name=name;
this.avgscore=avgscore;
}
public String getClsNum() {
return clsNum;
}
public String getName() {
return name;
}
public int getAvgscore() {
return avgscore;
}
public String toString(){
return ("clsNum="+clsNum+" name="+name+" avgscore="+avgscore);
}
}
public static class Undergraduate extends Student {
private int xuefen;
Undergraduate(String clsNum,String name,int avgscore,int xuefen){
super(clsNum,name,avgscore);
this.xuefen=xuefen;
}
public int getXuefen(){
return xuefen;
}
public String toString(){
return(super.toString()+" xuefen="+this.xuefen);
}
}
public static class Graduate extends Student {
private int xuefen;
private String country;
Graduate(){
}
Graduate(String clsNum,String name,int avgscore,int xuefen,String country){
super(clsNum, name, avgscore);
this.xuefen=xuefen;
this.country=country;
}
public int getXuefen(){
return xuefen;
}
public String getCountry(){
return this.country;
}
public String toString(){
return (super.toString()+" xuefen="+this.xuefen+" country="+this.country);
}
}
}
运行结果:
System.out.println(student); 改成 System.out.println(student.show());