30.Java基础_接口_抽象类_具体类实现案例
2024-10-12 10:50:39
public interface SpeakEnglish {
public abstract void speak();
} 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();
} public abstract class Coach extends Person{
public Coach() {
}
public Coach(String name, int age) {
super(name, age);
}
public abstract void teach();
} public abstract class Player extends Person{
public Player() {
}
public Player(String name, int age) {
super(name, age);
}
public abstract void study();
} public class BasketballCoach extends Coach{
public BasketballCoach() {
}
public BasketballCoach(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("篮球教练吃炒饭!");
}
@Override
public void teach() {
System.out.println("篮球教练教运球和投篮!");
}
} public class BasketballPlayer extends Player{
public BasketballPlayer() {
}
public BasketballPlayer(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("篮球运动员吃炒年糕");
}
@Override
public void study() {
System.out.println("篮球运动员学习运球和投篮!");
}
} public class PingPangCoach extends Coach implements SpeakEnglish{
public PingPangCoach() {
}
public PingPangCoach(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("乒乓球教练吃炒面");
}
@Override
public void teach() {
System.out.println("乒乓球教练教发球和接球!");
}
@Override
public void speak() {
System.out.println("乒乓球教练说英语");
}
} public class PingPangPlayer extends Player implements SpeakEnglish{
public PingPangPlayer() {
}
public PingPangPlayer(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("乒乓球运动员吃炒粉丝");
}
@Override
public void study() {
System.out.println("乒乓球运动员学习发球和接球");
}
@Override
public void speak() {
System.out.println("乒乓球运动员说英语");
}
} //测试类
public class test {
public static void main(String[] args) {
//创建对象
PingPangPlayer ppp=new PingPangPlayer("王浩",30);
System.out.println(ppp.getName()+","+ppp.getAge());
ppp.eat();
ppp.study();
ppp.speak();
System.out.println("------------------");
BasketballPlayer bp=new BasketballPlayer("姚明",40);
System.out.println(bp.getName()+","+bp.getAge());
bp.eat();
bp.study();
}
}
最新文章
- Strategy策略设计模式
- 【温故而知新-Javascript】时间效果(显示当前时间、显示当前日期、显示页面停留时间、倒计时)
- mac安装IE浏览器
- LitDB文章
- 九九乘法口诀引申出NN乘法口诀
- css匹配原理与优化
- OpenXmlSdk导出Excel
- 还是畅通工程(1233 并查集+kruskal)
- c++ - fcgio.cpp:50: error: 'EOF' was not declared in this scope - Stack Overflow
- UAC权限
- SAP BAPI创建批次 为保存内部对象号
- VS2017不能打开stdio.h等文件
- OpenCV 学习笔记 06 SIFT使用中出现版权问题error: (-213:The function/feature is not implemented)
- 6.5 开始进入设计 … Transition to Design
- PV&;UV&;IP之间的区别和联系
- swift设计模式学习 - 策略模式
- 通过 CeSi + Supervisor 可视化集中管理服务器节点进程
- (转)python函数: 内置函数
- HDU.2516 取石子游戏 (博弈论 斐波那契博弈)
- NB-iot 和 emtc两种技术区别