定义一个学生类,有学生类派生出小学生初中生高中生大学生研究生四个类,其中大学生类再派生出一个本科生专科生两个子类,研究生再派生出硕士生和博士生两个子类
所有类:
//学生类
class student {
int id;
int classes;
char sex;
int year;
public student(int id1, int classes1, char sex1, int year1) {
this.id = id1;
this.classes = classes1;
this.sex = sex1;
this.year = year1;
}
public void print(){
System.out.println("学生类:"+id+" "+classes+" "+sex+" "+year+" ");
}
}
// 小学生
class Primary extends student {
public Primary(int id1, int classes1, char sex1, int year1) {
// TODO Auto-generated constructor stub
super(id1, classes1, sex1, year1);
}
public void print_Primary(){
System.out.println("小学生类:"+id+" "+classes+" "+sex+" "+year+" ");
}
}
// 初中生
class Junior extends student {
public Junior(int id1, int classes1, char sex1, int year1) {
// TODO Auto-generated constructor stub
super(id1, classes1, sex1, year1);
}
public void print_Junior(){
System.out.println("初中生类:"+id+" "+classes+" "+sex+" "+year+" ");
}
}
// 高中生
class High extends student {
public High(int id1, int classes1, char sex1, int year1) {
// TODO Auto-generated constructor stub
super(id1, classes1, sex1, year1);
}
public void print_High(){
System.out.println("高中生类:"+id+" "+classes+" "+sex+" "+year+" ");
}
}
// 大学生
class College extends student {
String vb,java;
public College(int id1, int classes1, char sex1, int year1,String v,String j) {
// TODO Auto-generated constructor stub
super(id1, classes1, sex1, year1);
vb=v;
java=j;
}
public void print_College(){
System.out.println("大学生类:"+id+" "+classes+" "+sex+" "+year+" "+vb+" "+java+" ");
}
}
// 专科
class College_Junior extends College {
public College_Junior(int id1, int classes1, char sex1, int year1,String v,String j){
super(id1, classes1, sex1, year1,v,j);
}
public void print_Junior(){
System.out.println("专类:"+id+" "+classes+" "+sex+" "+year+" "+vb+" ");
}
}
// 本科
class College_High extends College {
public College_High(int id1, int classes1, char sex1, int year1,String v,String j){
super(id1, classes1, sex1, year1,v,j);
}
public void print_High(){
System.out.println("本类:"+id+" "+classes+" "+sex+" "+year+" "+java+" ");
}
}
// 研究生
class Graduate extends student {
public Graduate(int id1, int classes1, char sex1, int year1) {
// TODO Auto-generated constructor stub
super(id1, classes1, sex1, year1);
}
public void print_College(){
System.out.println("研究生类:"+id+" "+classes+" "+sex+" "+year+" ");
}
}
// 硕士生
class Graduate_Master extends Graduate {
public Graduate_Master(int id1, int classes1, char sex1, int year1) {
// TODO Auto-generated constructor stub
super(id1, classes1, sex1, year1);
}
public void print_Master(){
System.out.println("硕士生类:"+id+" "+classes+" "+sex+" "+year+" ");
}
}
// 博士生
class Graduate_Doctoral extends Graduate {
public Graduate_Doctoral(int id1, int classes1, char sex1, int year1) {
// TODO Auto-generated constructor stub
super(id1, classes1, sex1, year1);
}
public void print_Doctoral(){
System.out.println("博士生类:"+id+" "+classes+" "+sex+" "+year+" ");
}
}
测试函数 main():
public class mMain {
public static void main(String[] args){
System.out.println("xx类: 学号 班级 性别 年龄");
student s1=new student(23, 1111, '男', 21);
s1.print();
Primary p1=new Primary(23, 1111, '男', 21);
p1.print_Primary();
Junior j1=new Junior(23, 1111, '男', 21);
j1.print_Junior();
High h1=new High(23, 1111, '男', 21);
h1.print_High();
College c1=new College(23, 1111, '男', 21,"vb.net","java");
c1.print_College();
College_Junior cj1=new College_Junior(23, 1111, '男', 21,"vb.net","java");
cj1.print_Junior();
College_High ch1=new College_High(23, 1111, '男', 21,"vb.net","java");
ch1.print_High();
Graduate g1=new Graduate(23, 1111, '男', 21);
g1.print_College();
Graduate_Master gm1=new Graduate_Master(23, 1111, '男', 21);
gm1.print_Master();
Graduate_Doctoral gd1=new Graduate_Doctoral(23, 1111, '男', 21);
gd1.print_Doctoral();
}
}
运行效果: