黑马程序员技术交流社区

标题: 黑马程序员—Java基础(接口,类,抽象类综合小练习) [打印本页]

作者: 942932576    时间: 2015-7-6 13:58
标题: 黑马程序员—Java基础(接口,类,抽象类综合小练习)
------<a  target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

题目:教练和运动员案例:分为篮球与乒乓球两种,其中乒乓球运动员与教练需要学习英语,篮球运动员则不需要

具体分析:
  1. package day06;


  2. public class Ex1 {
  3.         public static void main(String[] args){
  4.                 //测试运动员(测试方法一样)
  5.                 //乒乓球运动员
  6.                 PingPangPlayer ppp = new PingPangPlayer();
  7.                 ppp.setName("张三");
  8.                 ppp.setAge(22);
  9.                 System.out.println(ppp.getName()+"---"+ppp.getAge());
  10.                 ppp.eat();
  11.             ppp.sleep();
  12.                 ppp.study();
  13.                 ppp.speak();
  14.                 System.out.println("----------------");
  15.                 //通过带参构造给数据
  16.                 PingPangPlayer ppp1 = new PingPangPlayer("李四",23);       
  17.                 System.out.println(ppp1.getName()+"---"+ppp.getAge());
  18.                 ppp1.eat();
  19.             ppp1.sleep();
  20.                 ppp1.study();
  21.                 ppp1.speak();
  22.                 System.out.println("----------------");
  23.         }
  24. }
  25. //定义说英语接口
  26. interface SpeakEnglish{
  27.         public abstract void speak();
  28. }
  29. //定义抽象人类
  30. abstract class Person{
  31.         private String name;
  32.         private int age;
  33.         public Person() {
  34.         }
  35.         public Person(String name,int age){
  36.                 this.name = name;
  37.                 this.age = age;
  38.         }
  39.         public String getName() {
  40.                 return name;
  41.         }
  42.         public void setName(String name) {
  43.                 this.name = name;
  44.         }
  45.         public int getAge() {
  46.                 return age;
  47.         }
  48.         public void setAge(int age) {
  49.                 this.age = age;
  50.         }
  51.         public void sleep(){
  52.                 System.out.println("睡觉");
  53.         }
  54.         public abstract void eat();
  55. }
  56. //定义运动员抽象类
  57. abstract class Player extends Person{
  58.         public Player(){
  59.         }
  60.         public Player(String name, int age){
  61.                 super(name,age);
  62.         }
  63.         public abstract void study();
  64. }

  65. //定义教练抽象类
  66. abstract class Coach extends Person{
  67.         public Coach(){
  68.         }
  69.         public Coach(String name, int age){
  70.                 super(name,age);
  71.         }
  72.         public abstract void teach();
  73. }

  74. //定义乒乓球运动员具体类
  75. class PingPangPlayer extends Player implements SpeakEnglish{
  76.         public PingPangPlayer(){
  77.         }
  78.         public PingPangPlayer(String name, int age){
  79.                 super(name, age);
  80.         }
  81.         @Override
  82.         public void speak() {
  83.                 // TODO Auto-generated method stub
  84.                 System.out.println("乒乓球运动员说英语");
  85.         }

  86.         @Override
  87.         public void study() {
  88.                 // TODO Auto-generated method stub
  89.                 System.out.println("乒乓球运动员学习如何发球和接球");
  90.         }

  91.         @Override
  92.         public void eat() {
  93.                 // TODO Auto-generated method stub
  94.                 System.out.println("乒乓球运动员吃大白菜,喝小米粥");
  95.         }
  96. }
  97. //定义篮球运动员具体类
  98. class BasketballPlayer extends Player{
  99.         public BasketballPlayer(){
  100.                
  101.         }
  102.         public BasketballPlayer(String name, int age){
  103.                 super(name, age);
  104.         }
  105.         @Override
  106.         public void study() {
  107.                 // TODO Auto-generated method stub
  108.                 System.out.println("篮球运动员学习如何运球和投篮");
  109.         }

  110.         @Override
  111.         public void eat() {
  112.                 // TODO Auto-generated method stub
  113.                 System.out.println("篮球运动员吃牛肉,喝牛奶");
  114.         }
  115. }
  116. //定义乒乓球教练具体类
  117. class PingPangCoach extends Coach implements SpeakEnglish{
  118.         public PingPangCoach(){       
  119.         }
  120.         public PingPangCoach(String name, int age){
  121.                 super(name, age);
  122.         }
  123.         @Override
  124.         public void speak() {
  125.                 // TODO Auto-generated method stub
  126.                 System.out.println("乒乓球教练说英语");
  127.         }

  128.         @Override
  129.         public void teach() {
  130.                 // TODO Auto-generated method stub
  131.                 System.out.println("乒乓球教练教如何发球和接球");
  132.         }

  133.         @Override
  134.         public void eat() {
  135.                 // TODO Auto-generated method stub
  136.                 System.out.println("乒乓球教练吃小白菜,喝大米粥");
  137.         }
  138.        
  139. }

  140. //定义篮球教练具体类
  141. class BasketballCoach extends Coach{

  142.         @Override
  143.         public void teach() {
  144.                 // TODO Auto-generated method stub
  145.                 System.out.println("篮球教练教如何运球和投篮");
  146.         }

  147.         @Override
  148.         public void eat() {
  149.                 // TODO Auto-generated method stub
  150.                 System.out.println("篮球教练吃羊肉,喝羊奶");
  151.         }
  152.        
  153. }
复制代码









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2