继承
继承的作用:代码的复用
1)通过extends关键字实现
2)子类可以从父类继承所有非pravite的属性和方法作为自己的成员
5、建立三个类:居民、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。 要求每个类的字段都以属性的方式对外提供数据输入输出的功能。
class resident
{
int identificationID;
String Name;
String Birthday;
public resident(int a,String b, String c)
{
identificationID=a;
Name=b;
Birthday=c;
}
public void output1()
{
System.out.println("identificationID="+identificationID+"Name="+Name+"Birthday="+Birthday);
}
}
class adult extends resident
{
String Education;
String Occupation;
public adult ( int identificationID, String Name,String Birthday,String Education,String Occupation)
{
super(identificationID,Name,Birthday);
this.Education=Education;
this.Occupation=Occupation;
}
public void output2()
{
System.out.println("identificationID="+identificationID+"Name="+Name+"Birthday="+Birthday+"Education="
+Education+"Occupation="+Occupation);
}
}
class officer extends adult
{
String Party;
String Post;
public officer ( int identificationID, String Name,String Birthday,String Education,String Occupation,String Party,String Post)
{
super(identificationID,Name,Birthday,Education,Occupation);
this.Party=Party;
this.Post=Post;
}
public void output3()
{
System.out.println("identificationID="+identificationID+"Name="+Name+"Birthday="+Birthday+"Education="+Education+"Occupation="
+Occupation+"Party="+Party+"Post="+Post);
}
}
public class Test
{
public static void main(String[] args)
{
resident man1=new resident(1234567890,"张飞","1932-12-11");
adult man2=new adult(7654321,"里斯","1273-12-13","大学","会计");
officer man3=new officer(1568908,"王二小","1993-2-25","小学","游民","民主党","排长");
man1.output1();
man2.output2();
man3.output3();
}
}
运行效果:

浙公网安备 33010602011771号