1. 案例:猫和狗
    需求:对猫和狗进行训练,他们就可以跳高了,这里加入了跳高功能,请采用抽象类和接口来实现猫和狗的案例,并在测试类中进行测试。
    分析:
    (1)定义接口(Jumpping)
    成员方法:跳高();
    (2)定义动物类(Animal)
    成员变量:姓名、年龄;
    构造方法:无参、带参
    成员方法:get/set方法,吃饭();
    (3)定义猫类(Cat),继承动物类
    构造方法:无参、带参
    成员方法:重写吃饭(……),重写跳高(……)
    (4)定义狗类(Dog),继承动物类
    构造方法:无参、带参
    成员方法:重写吃饭(……),重写跳高(……)
    (5)定义测试类(AnimalDemo),写代码测试
    完整代码:
package intertext;public interface Jumpping {public abstract void Jumpping();
}
package intertext;public abstract class Animal {private String name;private int age;public Animal() {}public Animal(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 intertext;public class Cat extends Animal implements Jumpping {public Cat() {}public Cat(String name, int age) {super(name, age);}@Overridepublic void Jumpping() {System.out.println("猫可以跳高了");}@Overridepublic void eat() {System.out.println("猫吃鱼");}
}
package intertext;public class Demo {public static void main(String[] args) {Jumpping j = new Cat();j.Jumpping();Animal a = new Cat();a.setName("mimi");a.setAge(5);System.out.println(a.getName()+","+a.getAge());a.eat();Animal a1 = new Cat("titi",6);System.out.println(a1.getName()+","+a1.getAge());a1.eat();Cat c = new Cat();c.setName("xixi");c.setAge(7);System.out.println(c.getName()+","+c.getAge());c.eat();c.Jumpping();}
}

运行结果:

猫可以跳高了
mimi,5
猫吃鱼
titi,6
猫吃鱼
xixi,7
猫吃鱼
猫可以跳高了
  1. 案例:运动员和教练
    需求:现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练,为了出国交流,跟乒乓球相关的人员都需要学习英语,请用所学知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现。
    分析:
    【从具体到抽象】

    实现:
    【从抽象到具体】
    使用:
    【使用的是具体的类的对象】
    (1)定义说英语接口:
    成员方法:说英语();
    (2)定义抽象人类:
    成员变量:姓名,年龄;
    构造方法:无参,带参;
    成员方法:get/set方法,吃饭();
    (3)定义抽象教练类,继承人类:
    构造方法:无参,带参;
    成员方法:教();
    (4)定义抽象运动员类,继承人类:
    构造方法:无参,带参;
    成员方法:学习();
    (5)定义具体篮球教练类,继承教练类:
    构造方法:无参,带参;
    成员方法:重写吃饭()(……),重写教()(……)
    (6)定义具体乒乓球教练类,继承教练类:
    构造方法:无参,带参;
    成员方法:重写吃饭()(……),重写教()(……),重写说英语()(……)
    (7)定义具体篮球运动员类,继承运动员类:
    构造方法:无参,带参;
    成员方法:重写吃饭()(……),重写学习()(……)
    (8)定义具体乒乓球运动员类,继承运动员类:
    构造方法:无参,带参;
    成员方法:重写吃饭()(……),重写学习()(……),重写说英语()(……)
    (9)定义测试类,写代码测试。
    完整代码:
package qiu;public interface speakE {void SpeakEnglish();
}
package qiu;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 qiu;public abstract class teacher extends Person {public teacher() {}public teacher(String name, int age) {super(name, age);}public abstract void teach();}
package qiu;public abstract class student extends Person{public student() {}public student(String name, int age) {super(name, age);}public abstract void study();
}
package qiu;public class bsTeacher extends teacher {public bsTeacher() {}public bsTeacher(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("篮球教练教学");}@Overridepublic void eat() {System.out.println("篮球教练吃饭");}
}
package qiu;public class ppTeacher extends teacher implements speakE {public ppTeacher() {}public ppTeacher(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("乒乓球教练吃饭");}@Overridepublic void teach() {System.out.println("乒乓球教练教学");}@Overridepublic void SpeakEnglish() {System.out.println("乒乓球教练说英语");}
}
package qiu;public class bsStudent extends student {public bsStudent() {}public bsStudent(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("篮球运动员吃饭");}@Overridepublic void study() {System.out.println("篮球运动员学习");}
}
package qiu;public class ppStudent extends student implements speakE {public ppStudent() {}public ppStudent(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("乒乓球运动员吃饭");}@Overridepublic void study() {System.out.println("乒乓球运动员学习");}@Overridepublic void SpeakEnglish() {System.out.println("乒乓球运动员说英语");}}
package qiu;public class Demo {public static void main(String[] args) {ppStudent ps = new ppStudent();ps.setName("Tom");ps.setAge(18);System.out.println(ps.getName()+","+ps.getAge());ps.eat();ps.study();ps.SpeakEnglish();ppStudent ps1 = new ppStudent("Bob",19);System.out.println(ps1.getName()+","+ps1.getAge());ps1.eat();ps1.study();ps1.SpeakEnglish();}
}

运行结果:

Tom,18
乒乓球运动员吃饭
乒乓球运动员学习
乒乓球运动员说英语
Bob,19
乒乓球运动员吃饭
乒乓球运动员学习
乒乓球运动员说英语

JAVA接口案例(猫和狗、运动员和教练)相关推荐

  1. 174 多态案例/猫和狗

    174 多态案例/猫和狗 思路 动物类,变量/姓名 年龄,构造方法/无参的 带参的,成员方法/getter setter 吃饭 猫类,继承动物类,构造方法/无参的 带参的,成员方法/重写吃饭方法 狗类 ...

  2. 178 抽象类案例/猫和狗

    178 抽象类案例/猫和狗 思路 动物类,变量/姓名 年龄,构造方法/无参的 带参的,成员方法/getter setter 吃饭 猫类,继承动物类,构造方法/无参的 带参的,成员方法/重写吃饭方法 狗 ...

  3. 抽象类:案例:猫和狗

    抽象类:案例:猫和狗 需求:请采用抽象类的思想实现猫和狗的案例,并在测试类中进行测试 1 定义动物类 package com.itheima_02; /* 抽象类 */ public abstract ...

  4. Java分别采用继承、多态、抽象类、接口实现猫和狗的入门案例

    目录 采用继承的思想实现猫和狗的案例 采用多态的思想实现猫和狗的案例 采用抽象类的思想实现猫和狗的案例 采用接口的思想实现猫和狗的案例 采用继承的思想实现猫和狗的案例 分析: ①猫: 成员变量:姓名, ...

  5. 10-01 Java 类,抽象类,接口的综合小练习--运动员和教练

    运动员和教练的案例分析 运动运和教练的案例 代码实现 /*教练和运动员案例乒乓球运动员和篮球运动员.乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语.请用所学知识:分析,这个案例中 ...

  6. 【java基础】猫和狗(接口类)

    step1:先定义一个跳高(接口) package jiekou;public interface Jumpping {public abstract void jump();} step2:再定义一 ...

  7. java 接口案例

    这个是主程序 package demo;import java.util.ArrayList;public class SortUtil {public static void sort(ArrayL ...

  8. 【java基础】猫和狗(多态版)

    父类:Animal package duotai;public abstract class Animal {private String name;private int age;public An ...

  9. 2022/10/26 OR 27 关于java的接口初识 猫狗接口/教练学员案例

    接口的特点: 接口的关键字 public interface 接口名() 类实现接口的关键字 public class 类名 implements 接口名()  接口的实现参照多态:抽象类多态,接口多 ...

最新文章

  1. NMAP输出结果中CPE的含义
  2. [Swift]UIKit学习之UISegSmentedControl的用法
  3. map原理 java_RxJava的基本原理以及Map,flatMap的原理
  4. 异常处理机制——panic 和 recover
  5. mysql 2005开发版,SQL server 2019 开发版下载
  6. (建议收藏)前端面试必问的十六条HTTP网络知识体系
  7. MFC中的文件读写技术
  8. SQL Server 2022 DataSheet
  9. UI设计师应该知道的命名规范
  10. Web前端工作笔记013---拦截所有的ajax请求,设置出错信息
  11. HDU 1407 测试你是否和LTC水平一样高 枚举、二分、hash
  12. 【总结——HTTP协议】
  13. 统计机器学习导论第四章答案
  14. 搭档之家|立秋·暑去凉来 叶落知秋
  15. winehq-stable-5.0 Download For Mac 在Mac上运行exe文件
  16. 电影院同场不同价 你愿意为“黄金座位”买单吗
  17. java实现蒲丰投针求_蒲丰投针问题
  18. 笑傲江湖中的政治斗争
  19. 在css中引用特殊字体
  20. EDIUS里怎样快速切换插入和覆盖模式

热门文章

  1. 成佩涛编程之路(成佩涛黑客)
  2. 【js数据结构】栈解决佩兹糖果盒问题
  3. Fincy新社交,让社交独而不孤
  4. C++ SFINAE简介和std::enable_if_t的简单使用
  5. 积分电路中电容并联一个电阻的作用
  6. 串行进位加法器与超前进位加法器 verilog
  7. 面试siki老师失败
  8. host 计算机英语作文,My Favorite Hostest英语作文
  9. 支付宝支付ALIN10146-商户订单参数错误,请重新支付问题解决
  10. 适合小白入门的100个微信小程序云开发项目