class Magazine{ String Title; String Publishing; String Editor; int Pages; Magazine(String Title,String Publishing,String Editor,int Pages) { this.Title=Title; this.Publishing=Publishing; this.Editor=Editor; this.Pages=Pages; } public String GetMeg() { return("期刊标题:"+Title+"出版社:"+Publishing+"编辑:"+Editor+"期刊页数:"+Pages); } } class MagazineCard extends Magazine{ String Catalog; String CheckedOut; MagazineCard(String Title,String Publishing,String Editor,int Pages,String Catalog,String CheckedOut) { super(Title,Publishing,Editor,Pages); this.Catalog=Catalog; this.CheckedOut=CheckedOut; } public String GetMegs() { return(this.GetMeg()+"期刊目录:"+Catalog+"期刊是否在库:"+CheckedOut); } } public class BookMessage{ public static void main(String args[]) { MagazineCard NewMagazine=new MagazineCard("萌芽","漓江出版社","赵长天",1500,"大学生必读","是"); System.out.println(NewMagazine.GetMegs()); } } 这是正解的.你的子类的构造方法没有调用父类的.最好写程序用一个公共类