需求:
第一步:定义英语接口
package jiekou1;
public interface LearnEnglish {
public abstract void speak();
}
第二步:定义抽象人类
package jiekou1;
//抽象人类
public abstract class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//抽象人类,方法也是抽象的
public abstract void eat();
}
第三步:定义抽象教练类,继承人类
package jiekou1;
//抽象教练类
public abstract class Teacher extends Person {
public Teacher() {
}
public Teacher(String name, int age) {
super(name, age);
}
public abstract void teach();
}
第四步:定义抽象运动员类,继承人类
package jiekou1;
//抽象运动员类
public abstract class Sporter extends Person {
public Sporter() {
}
public Sporter(String name, int age) {
super(name, age);
}
public abstract void study();
}
第五步:定义具体篮球类教练,继承教练类
package jiekou1;
public class BasketballTeacher extends Teacher{
public BasketballTeacher() {
}
public BasketballTeacher(String name, int age) {
super(name, age);
}
public void eat(){
System.out.println("篮球教练吃饭");
}
public void teach(){
System.out.println("篮球教练教篮球");
}
}
第六步:定义具体乒乓球教练类,继承教练类,实现说英语接口
package jiekou1;
public class PingpangTeacher extends Teacher implements LearnEnglish{
public PingpangTeacher() {
}
public PingpangTeacher(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("乒乓教练吃饭");
}
@Override
public void teach() {
System.out.println("乒乓教练教乒乓");
}
public void speak() {
System.out.println("乒乓球教练学英语");
}
}
第七步:定义篮球运动员类,继承运动员类
package jiekou1;
public class BasketballSporter extends Sporter{
public BasketballSporter() {
}
public BasketballSporter(String name, int age) {
super(name, age);
}
public void eat(){
System.out.println("篮球运动员吃饭");
}
public void study(){
System.out.println("篮球运动员学习篮球");
}
}
第八步:定义乒乓球运动员类,继承运动员类,实现说英语接口
package jiekou1;
public class PingpangSporter extends Sporter implements LearnEnglish{
public PingpangSporter() {
}
public PingpangSporter(String name, int age) {
super(name, age);
}
@Override
public void speak() {
System.out.println("乒乓运动员学英语");
}
@Override
public void eat() {
System.out.println("乒乓球运动员吃饭");
}
@Override
public void study() {
System.out.println("乒乓运动员学习乒乓");
}
}
第九步:定义测试类
package jiekou1;
//测试类
public class PersonDemo {
public static void main(String[] args) {
//创建对象(乒乓运动员)
PingpangSporter ps = new PingpangSporter();
ps.setName("小胖");
ps.setAge(23);
System.out.println(ps.getName() + "," + ps.getAge());
ps.eat();
ps.study();
ps.speak();
System.out.println("------------");
//创建对象(篮球教练)
BasketballTeacher bt=new BasketballTeacher();
bt.setName("小鱼");
bt.setAge(24);
System.out.println(bt.getName() + "," + bt.getAge());
bt.eat();
bt.teach();
System.out.println("------------");
}
}