接口练习

来源:互联网 发布:和谐万维软件 编辑:程序博客网 时间:2024/06/05 00:29

package demo;

 

interface Teach {

public void teach();

public void correctHomework() ;  

 

}

 

//父类

package demo;

 

public abstract class People {

private String name;

private int age;

private char gender;

public People(String myName,int myAge,char myGender){ //通过构造函数初始化

name=myName;

age=myAge;

gender=myGender;

}

public String getName(){

return this.name;

}

//思考,子类必须对其重写

 public abstract void think();

 

//子类可以不重写

 public void speak(){

 

 }

}

 

//学生类

package demo;

 

public class Student extends People {

private String grade;//班级

private String hobby;

public Student(String mygrade,String myhobby,String myName,int myAge,char  myGender){

  super(myName,myAge,myGender);

  grade=mygrade;

  hobby=myhobby;

  }

      

//重写父类的getName方法

public String getName(){

return super.getName();

}

 public void responsibility(){

 System.out.println("学生的职责是学习");

 }

 public void task(){

  System.out.println("学生的任务是写作业");

 }

   public void think(){

 System.out.println("每天都得有进步,如果没有就小小的惩罚自己一下~~");

  }

   public void programmingLove(){//对编程的热爱度

int getnum=(int)(Math.random()*3);

switch (getnum) {

case 0:

System.out.println(this.getName()+"酷爱编程");  

break;

case 1:

System.out.println(this.getName()+"喜欢编程");

break;

case 2:

System.out.println(this.getName()+"我比较喜欢编程");

break;

default:

System.out.println(this.getName()+"我会努力学习编程的") ;  

break;

}

}

public void hobby(){

System.out.println("我喜欢:"+hobby);

}

}

 

 

//教师类

package demo;

 

public class Teacher extends People {

private double salary;//工资

private String school;//学校

public Teacher(Double mysalary,String myschool,String myName, int myAge,char myGender){

super(myName,myAge,myGender);

salary=mysalary;

school=myschool;

}

//重写父类的getName方法

public String getName(){

return super.getName();

}

public void think() {

System.out.println("为学生服务!我很开心");

}

public void helpStudent(){

}

 

}

 

//java老师类

package demo;

 

public  class JavaTeacher extends Teacher implements Teach {

private String  major;//学科

private String inclass;//所属班级

public  JavaTeacher(String mymajor,String myinclass,Double mysalary,String myschool,String myName, int myAge,char myGender) {

super(mysalary,myschool,myName,myAge,myGender);//调用父类构造函数

major=mymajor;

inclass=myinclass;

}

// TODO Auto-generated constructor stub

public String getName(){  //重写父类方法

return super.getName();

    }

public String getMymajor(){

return major;

}

public void teach(){//重写接口Teach的方法

System.out.println(this.getName()+"我教的是:"+this.getmymajor());

}

public void correcthomework(){//重写接口Teach的方法

System.out.println("我是:"+this.getName()+"我只批改Java作业,"+"请不要把其他作业给我。");

}

}

 

 

//测试老师类

package demo;

 

public  class JavaTeacher extends Teacher implements Teach {

private String  major;//学科

private String inclass;//所属班级

public  JavaTeacher(String mymajor,String myinclass,Double mysalary,String myschool,String myName, int myAge,char myGender) {

super(mysalary,myschool,myName,myAge,myGender);//调用父类构造函数

major=mymajor;

inclass=myinclass;

}

// TODO Auto-generated constructor stub

public String getName(){  //重写父类方法

return super.getName();

    }

public String getMymajor(){

return major;

}

public void teach(){//重写接口Teach的方法

System.out.println(this.getName()+"我教的是:"+this.getmymajor());

}

public void correcthomework(){//重写接口Teach的方法

System.out.println("我是:"+this.getName()+"我只批改Java作业,"+"请不要把其他作业给我。");

}

}

 

 

//数据库老师类

package demo;

 

public class SqlTeacher extends Teacher implements Teach {

private String  major;//学科

private String inclass;//所属班级

  public SqlTeacher(String mymajor,String myinclass,Double mysalary,String myschool,String myName, int myAge,char myGender) {

super(mysalary,myschool,myName,myAge,myGender);

major=mymajor;

inclass=myinclass;

}

// TODO Auto-generated constructor stub

public String getName(){  //重写分类方法

return super.getName();

    }

public String getmymajor(){

return major;

}

public void teach() {

System.out.println(this.getName()+"我教的是:"+this.getmymajor());

 

}

public void correcthomework(){

System.out.println("我是:"+this.getName()+"我只批改sql作业,"+"请不要把其他作业给我。");

}

}

 

 

//生活老师类

package demo;

 

public class LifeTeacher extends Teacher {

private String apartment;//生活老师负责的公寓

private String task;//生活老师的任务

public LifeTeacher (Double mysalary,String myschool,String myApartment,String myTask  ,String myName, int myAge, char myGender){

super( mysalary,myschool,myName, myAge, myGender);//调用父类构造函数

apartment=myApartment;

task=myTask;

}

//重写父类的getName方法

public String getName(){

return super.getName();

}

public String getapartment(){

return this.apartment;

}

public void manage(){

System.out.println(this.getName()+"管理"+this.getapartment()+"宿舍");

}

public void clean(){

System.out.println(this.getName()+"打扫公寓卫生");

}

}

 

 

//主类

package demo;

 

public class Test {

public static void sop(Object object){

System.out.println(object);

}

public static void main(String[] args) {

Student stu1=new Student("测试9", "电影",  "小红", 20, '');//实例化对象

Student stu2=new Student("测试9", "运动",  "小明", 20, '');

JavaTeacher jav=new JavaTeacher("java", "测试九班", 4000.00, "惠普实训基地", "于鹏", 27, '');

TestTeacher tes=new TestTeacher("测试", "测试九班", 4000.00, "惠普实训基地", "韩昌佩", 26, '');

SqlTeacher sql=new SqlTeacher("SQL", "测试九班", 4000.00, "惠普实训基地", "xxx", 26, '');

LifeTeacher lif=new LifeTeacher(2500.00,"惠普实训基地" , "C3", "管理学生", "朱红", 24, '');

   sop("同学自我介绍:");

   sop("--------------------------------");

   stu1.responsibility();

   stu1.task();

   stu1.think();

   stu1.Programminglove();

   stu2.Programminglove();

   sop("教师来了");

   sop("--------------------------------");

   jav.teach();

   jav.correcthomework();

   sop("--------------------------------");

   tes.teach();

   tes.correcthomework();

   sop("--------------------------------");

   sql.correcthomework();

   sql.teach();

   sop("--------------------------------");

   lif.manage();

   lif.clean();

   

   

 

}

}

0 0
原创粉丝点击