1 编写带有接口和抽象类的标准 Javabean 类
乒乓球运动员:姓名,年龄,学打乒乓球,说英语
篮球运动员:姓名,年龄,学打篮球
乒乓球教练:姓名,年龄,教打乒乓球,说英语
篮球教练:姓名,年龄,教打篮球
1.1 分析 1
1.2 分析 2
1.3 父类 Person
package com.bjpowernode.test07;
//因为现在我不想让外界去直接创建人的对象
//因为直接创建顶层父类人的对象此时是没有意义的
//所以就把他写为抽象的。
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;
}
}
1.4 子类 运动员、教练
别忘了生成构造函数
package com.bjpowernode.test07;
public abstract class Coach extends Person {
public Coach() {
}
public Coach(String name, int age) {
super(name, age);
}
public abstract void teach();
}
package com.bjpowernode.test07;
public abstract class Sporter extends Person {
public Sporter() {
}
public Sporter(String name, int age) {
super(name, age);
}
public abstract void stduy();
}
1.5 接口
方法可以写成抽象方法
package com.bjpowernode.test07;
public interface Engilsh {
public abstract void sppeakEnglish(); //抽象方法,不需要接口也是抽象的
}
1.6 子类 乒乓球运动员.....
别忘了生成构造函数
package com.bjpowernode.test07;
import com.bjpowernode.op_extends.Demo05.Employee;
public class PingPangSporter extends Sporter implements Engilsh {
public PingPangSporter() {
}
public PingPangSporter(String name, int age) {
super(name, age);
}
@Override
public void stduy() {
System.out.println("乒乓球运动员在学习如何打乒乓球");
}
@Override
public void sppeakEnglish() {
System.out.println("乒乓球运动员在说英语");
}
}
package com.bjpowernode.test07;
public class BasketballSporter extends Sporter {
public BasketballSporter() {
}
public BasketballSporter(String name, int age) {
super(name, age);
}
@Override
public void stduy() {
System.out.println("篮球运动员在学习如何打篮球");
}
}
package com.bjpowernode.test07;
public class PingPangCoach extends Coach implements Engilsh {
public PingPangCoach() {
}
public PingPangCoach(String name, int age) {
super(name, age);
}
@Override
public void teach() {
System.out.println("乒乓球教练正在教如何打乒乓球");
}
@Override
public void sppeakEnglish() {
System.out.println("乒乓球教练在说英语");
}
}
package com.bjpowernode.test07;
public class BasketballCoach extends Coach{
public BasketballCoach() {
}
public BasketballCoach(String name, int age) {
super(name, age);
}
@Override
public void teach() {
System.out.println("篮球教练正在教如何打篮球");
}
}
1.7 测试类
package com.bjpowernode.test07;
public class Test {
public static void main(String[] args) {
PingPangSporter pps = new PingPangSporter("孙颖莎", 25);
System.out.println(pps.getName() + ", " + pps.getAge());
pps.stduy();
pps.sppeakEnglish();
}
}
运行结果:
参考链接: