动物类:姓名,年龄,吃饭,睡觉。
             动物培训接口:跳高
             猫继承动物类
              狗继承动物类
             部分猫继承猫类并实现跳高接口
             部分狗继承狗类并实现跳高接口

代码展示:

Animal.java

package demo09;
/*** @Author:liger* @Description:爱学Java* @Time:2021-11-04 16:51*/
public abstract class Animal {private String name;private int age;public abstract void eat();public abstract void sleep();public Animal() {}public Animal(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}
}

Cat.java

package demo09;/*** @Author:liger* @Description:爱学Java* @Time:2021-11-04 16:53*/
public class Cat extends Animal {@Overridepublic void eat() {System.out.println("吃饭");}@Overridepublic void sleep() {System.out.println("睡觉");}public Cat(String name, int age) {super(name,age);}
}

Dog.java

package demo09;/*** @Author:liger* @Description:爱学Java* @Time:2021-11-04 16:53*/
public class Dog extends Animal {@Overridepublic void eat() {System.out.println("吃饭");}@Overridepublic void sleep() {System.out.println("睡觉");}public Dog(String name, int age) {super(name,age);           //调用父类有参构造方法}
}

ErhaDog.java

package demo09;/*** @Author:liger* @Description:爱学Java* @Time:2021-11-04 16:57*/
public class ErhaDog extends Dog implements JumpInterface{@Overridepublic void eat() {System.out.println(this.getName()+"今年"+this.getAge()+"喜欢吃狗粮");}@Overridepublic void sleep() {System.out.println("二哈喜欢睡在地上");}public ErhaDog(String name,int age){super(name,age);             //调用父类有参构造方法}public void door(){System.out.println(this.getName()+"在看门");}@Overridepublic void jump() {System.out.println("狗没学会跳高");}
}

Tomcat.java

package demo09;/*** @Author:liger* @Description:爱学Java* @Time:2021-11-04 16:56*/
public class Tomcat extends Cat implements JumpInterface{@Overridepublic void eat() {System.out.println(this.getName()+"今年"+this.getAge()+"tom喜欢吃鱼");}@Overridepublic void sleep() {System.out.println(this.getName()+"喜欢睡在沙发上");}public Tomcat (String name,int age){super(name,age);     //调用父类有参构造方法}public void mouse(){System.out.println(this.getName()+"抓老鼠");}@Overridepublic void jump() {System.out.println(this.getName()+"学会了跳高");}
}

JumpInterface.interface

public interface JumpInterface {void jump();
}

Test.java

package demo09;/*** @Author:liger* @Description:爱学Java* @Time:2021-11-04 16:50*/
public class Test {           //定义测试类public static void main(String[] args) {Cat c=new Tomcat("tom",10);// 使用有参构造方法c.eat();c.sleep();Tomcat tomcat= (Tomcat) c;    //向下转型tomcat.mouse();tomcat.jump();Dog d=new ErhaDog("二哈",20);//使用有参构造方法d.eat();d.sleep();ErhaDog e= (ErhaDog) d;     //向下转型e.door();e.jump();}
}

Java案例——猫狗案例加入跳高功能分析及其代码实现(面向对象)相关推荐

  1. 案例 猫狗跳高 java 1614102273

    案例 猫狗跳高 java 1614102273 案例信息 实现 来一个接口 抽象的动物类 猫类继承与实现 测试类 接口多态与抽象类多态 对象只能调对应的方法(接口类或抽象类中的)

  2. 面向对象_猫狗案例加入跳高功能分析

    /*猫狗案例,加入跳高的额外功能分析:从具体到抽象猫:姓名.年龄 吃饭.睡觉狗:姓名.年龄吃饭.睡觉由于有共性功能,所以,我们抽取一个父类:动物类:姓名.年龄吃饭();睡觉(){}猫:继承自动物类狗: ...

  3. 猫狗案例加入跳高功能分析及代码实现

    猫狗案例加入跳高功能分析及代码实现 class Test01_Animal {public static void main(String[] args) {Cat c = new Cat(" ...

  4. 面向对象_猫狗案例加入跳高功能代码实现

    /*猫狗案例,加入跳高的额外功能分析:从具体到抽象猫:姓名.年龄 吃饭.睡觉狗:姓名.年龄吃饭.睡觉由于有共性功能,所以,我们抽取一个父类:动物类:姓名.年龄吃饭();睡觉(){}猫:继承自动物类狗: ...

  5. 接口练习:猫狗案例扩展跳高功能

    在"抽象类练习1:猫狗案例"的基础上,猫狗案例加入额外功能:跳高jump() 注意分析:是有的猫会跳高,有的狗会跳高 所以定义一个跳高接口.再定义两个类:跳高猫,继承猫,实现猫的跳 ...

  6. java多态猫狗吃骨头_javaSE学习(6):面向对象:多态的两个经典案例(猫狗案例和南北方人案例)...

    1.猫狗多态案例 /* 2019年5月19日9点48 @author 潇雷 猫狗案例多态版: */ class Animal{ public void eat(){ System.out.printl ...

  7. Java的抽象类:猫狗案例

    猫狗案例:从抽象到具体 狗或者猫: 成员变量:姓名,年龄 构造方法:无参,带参 成员方法:eat(猫吃鱼/狗吃肉) 因为有共性的内容,所以就提取一个父类,动物. 但是又由于吃饭的内容不一样,所以吃饭的 ...

  8. 面向对象之继承,抽象,接口的案例(刘意老师的猫狗案例)

    猫狗案例,加入跳高的额外功能 分析:从具体到抽象 猫: 姓名,年龄 吃饭睡觉 狗: 姓名,年龄 吃饭睡觉 由于有共性功能.所以我们抽取出一个父类: 动物: 姓名,年龄 吃饭(); 睡觉(){} 猫:继 ...

  9. 抽象类与接口的典型应用:猫狗案例,加入调高的额外功能

    /*   抽象类与接口应用:猫狗案例,加入调高的额外功能     分析:从具体到抽象   猫:   姓名,年龄   吃饭.睡觉   狗:   姓名,年龄   吃饭.睡觉   由于有共性功能,所以我们抽 ...

最新文章

  1. 异步SOCKET与同步SOCKET
  2. HTML Img(Type)
  3. spring mvc中的拦截器
  4. 计算机网络布线开题报告,网络综合布线开题报告.docx
  5. 发那科机器人圆弧指令怎么用_发那科机器人应用-运动指令入门(1)
  6. rgb转hsv (Verilog)
  7. Inferred type 'S' for type parameter 'S' is not within its bound
  8. 计算机桌面维护介绍,电脑显示器的维护
  9. Python杀死了Excel
  10. JAVA面向对象编程学习 (1)语法基础与类与对象
  11. 人脸识别系统——Face recognition 人脸识别
  12. 浅谈一下低频高频时阻抗匹配的重要知识
  13. 51.【Java String方法的小结】
  14. 该网站未根据工信部相关法律规则进行备案
  15. 七个习惯之五:知彼解己
  16. 全志V系统tina系统查看系统设置了哪些中断为唤醒源
  17. codeblock主题颜色配置
  18. Jquery和CSS3实现图片鱼眼显示效果
  19. 将LIBSVM用于多分类时根据svmtrain输出结果得到各OvO分类超平面的法向量w和偏移项b
  20. Windows神器 微信对话视频生成器

热门文章

  1. 书评与摘抄《如何阅读一本书》
  2. 习题6-5巡逻机器人 UVa 1600 bfs
  3. jscese 知其白 守其黑 為天下式 __Read The Fucking Source Code的博客汇总
  4. 开关量无线传输-1主4从
  5. CookieSession
  6. python学习——HTMLParser
  7. APICloud(二):选择一张或多张图片
  8. 11月开展消防宣传活动
  9. tkMapper插件的详细讲解
  10. 初涉QQ飞车第一天-创建角色