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. 谷歌最新论文:从图像中进行3-D目标检测
  2. Allegro 如何把铺好铜皮的平面层互换
  3. 网站维护:Linux服务器查看外网访问IP指令汇总
  4. 笔记-项目配置管理-配置标识-配置识别与建立基线
  5. QQ相册后台存储架构重构与跨IDC容灾实践
  6. LeetCode 523. 连续的子数组和(求余 哈希)
  7. TensorFlow实验(1)
  8. python需要配置环境变量吗_python为什么会环境变量设置不成功
  9. MySQL添加唯一约束和联合唯一约束(建表后添加)
  10. spark 三种部署模式的区别对比
  11. MATLAB--查表
  12. python10的负n次方_python的次方
  13. js实现xml转json和json转xml
  14. 在线上传图片二维码识别解析
  15. 北达科他州立大学计算机科学专业,2019上海软科世界一流学科排名计算机科学与工程专业排名北达科他州立大学排名第201-300...
  16. linux系统认证中级是什么,红帽中级RHCE证书有什么用
  17. 都2020年了,别再迷信啤酒与尿布!数据分析的真相在这
  18. c/c++函数 -strtol strtoll strtoul strtoull 使用注意项cc
  19. SAP 不能打印的解决方法
  20. 【安卓开发、鸿蒙开发】安卓模拟按键事件

热门文章

  1. python实现加法器_使用python模拟加法器的构造
  2. 如何对jmeter设置IP欺骗
  3. 和聊天机器人的第一次心理咨询
  4. 分号是c语言的结束符不是分隔符,分号在C和Pascal中的区别
  5. 【Microsoft Edge浏览器】为什么kaggle登录或注册报错,为什么kaggle不能手机验证——The username or password provided is incorrect
  6. xgplayer自定义播放器样式
  7. 新宝股市行情在震荡中选择方向,继续观望
  8. ceres非线性优化库-安装
  9. c语言 static运用,灵活改变生命周期,让你写代码如鱼得水
  10. matlab正弦函数fft,正弦函数及其FFT变换(一) | 学步园