【Java每日一题】——第三十五题:一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系两个子类吃的行为各不相同(兔子吃草,老虎吃肉)但睡觉的行为是一致

简介: 【Java每日一题】——第三十五题:一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系两个子类吃的行为各不相同(兔子吃草,老虎吃肉)但睡觉的行为是一致

🎯问题:


请设计一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系,两个子类吃的行为各不相同(兔子吃草,老虎吃肉);但睡觉的行为是一致的。具体步骤如下

(1)定义动物类Animal,定义其成员方法eat(吃)和sleep(睡觉);


(2)定义动物类Animal的子类Rabbit,重写父类eat方法,在该方法中输出“兔子吃草”;


(3)定义动物类Animal的子类Tiger,重写父类eat方法,在该方法中输出“老虎吃肉”;


(4) 在测试类Demo中分别创建Rabbit对象和Tiger对象,调用各自的eat(吃)和sleep(睡觉)方法。测试结果如下:

8091a7039def360a9f2374c823ee646b_888799063df141c4877d7188310c9632.png

🎯答案 :

package file3;
class Animal{
  public void eat() {
    // TODO Auto-generated method stu
    System.out.println("动物吃食物");
  }
  public void sleep() {
    System.out.println("睡觉");
  }
}
class Rabbit extends Animal{
  public void eat() {
    // TODO Auto-generated method stub
    System.out.println("兔子吃草");
  }
}
class Tiger extends Animal{
  public void eat() {
    // TODO Auto-generated method stub
    System.out.println("老虎吃肉");
  }
}
public class Demo {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
  Rabbit r1=new Rabbit();
  r1.eat();
  r1.sleep();
  System.out.println("------------------");
  Tiger t1=new Tiger();
  t1.eat();
  t1.sleep();
  }
}


💛废话文学:

Java的优势:

跨平台性: Java是一种跨平台的编程语言,即一次编写,到处运行。Java程序在不同的操作系统上具有很高的移植性,这使得开发人员能够通过Java开发应用程序,无需担心底层操作系统的差异。


面向对象: Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性。这种编程范式使得代码可以更加模块化、可重用,并且有助于提高代码的可维护性和可扩展性。


强大的生态系统: Java拥有丰富的标准库和第三方库,提供了各种功能强大的工具和框架,如Spring、Hibernate和JUnit等。这些工具和框架使得Java开发人员能够更加高效地开发应用程序,并提供了解决特定问题的解决方案。


多线程支持: Java内置了对多线程编程的支持,使得开发人员可以轻松地创建并发应用程序。多线程编程可以有效地利用多核处理器的性能,并提高程序的响应速度和吞吐量。


安全性: Java拥有严格的安全机制,包括字节码验证、安全管理器和安全沙箱等,可以防止恶意代码对系统的破坏。这使得Java成为开发安全性要求较高的应用程序的理想选择。

相关文章
|
1月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
70 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
2月前
|
Java
java获取继承关系
java获取继承关系
39 6
|
1月前
|
Java 编译器
【一步一步了解Java系列】:子类继承以及代码块的初始化
【一步一步了解Java系列】:子类继承以及代码块的初始化
24 3
|
1月前
|
Java
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
本文探讨了在Java中,当父类的方法返回`this`对象或变量时,子类调用该方法的行为,以及`this`关键字在不同类中调用方法时的指向问题。
16 0
java中父类方法return this.对象还是变量,子类去调用this.这个方法的问题
|
2月前
|
安全 Java 开发者
Java修饰符与封装:理解访问权限、行为控制与数据隐藏的重要性
Java中的修饰符和封装概念是构建健壯、易维护和扩展的Java应用程序的基石。通过合理利用访问权限修饰符和非访问修饰符,开发者能够设计出更加安全、灵活且高效的代码结构。封装不仅是面向对象编程的核心原则之一,也是提高软件项目质量和可维护性的关键策略。
20 1
|
1月前
|
Java 程序员 编译器
【Java】继承、super、final、子类构造方法
【Java】继承、super、final、子类构造方法
30 0
|
3月前
|
算法 Java 索引
【Java集合类面试四】、 描述一下Map put的过程
这篇文章详细描述了HashMap中put操作的过程,包括首次扩容、计算索引、插入数据以及链表转红黑树和可能的再次扩容。
【Java集合类面试四】、 描述一下Map put的过程
|
3月前
|
Java 编译器
JAVA中的夫类与子类
JAVA中的夫类与子类
|
3月前
|
Java
描述 Java 中的重载和重写
【8月更文挑战第22天】
19 0
|
Java
Java - 子类的访问权限为何比父类大?
Java - 子类的访问权限为何比父类大?
325 0
下一篇
无影云桌面