• 学习-Java继承和多态之对象类型的转换


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

    题目:

    任务:使用对象类型的转换,根据编程提示,完成猫类和动物类的转换,以及彼此方法和属性的调用。

    编程要求

    仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中完成猫类和动物类的转换,以及彼此方法和属性的调用,具体要求如下:

    • 把猫类对象赋值给动物类;
    • 将动物类引用转换为猫类对象;
    • 输出 Animal 类的 name 变量;
    • 输出 Animal 类的 staticName 变量;
    • 输出 Cat 类的 eat() 方法;
    • 输出 Animal 类的 staticEat() 方法;
    • 调用 Cat 类的 str 变量;
    • 调用 Cat 类的 eatMethod() 方法。

    代码:

    1. /**
    2. * 使用对象类型的转换,根据编程提示,完成猫类和动物类的转换,以及彼此方法和属性的调用
    3. */
    4. // 定义动物类
    5. class Animal{
    6. // 定义动物类的属性
    7. public String name = "动物";
    8. public static String staticName = "可爱的动物";
    9. // 定义动物类的行为方法
    10. public void eat() {
    11. System.out.println("动物吃饭");
    12. }
    13. public static void staticEat() {
    14. System.out.println("可爱的动物正在在吃饭");
    15. }
    16. }
    17. // 定义猫类,该类继承动物类
    18. public class Cat extends Animal{
    19. // 定义猫类的属性
    20. public String name = "猫";
    21. public String str = "可爱的小猫";
    22. public static String staticName = "我是喵星人";
    23. // 定义猫类的行为方法
    24. public void eat() {
    25. System.out.println("猫吃饭");
    26. }
    27. public static void staticEat() {
    28. System.out.println("喵星人在吃饭");
    29. }
    30. public void eatMethod() {
    31. System.out.println("猫喜欢吃鱼");
    32. }
    33. public static void main(String[] args) {
    34. // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    35. /********* Begin *********/
    36. // 向上转型,把猫类对象赋值给动物类
    37. Animal a1=new Cat();
    38. Cat a2=(Cat) a1;
    39. // 向下转型,将动物类引用转换为猫类对象
    40. // 输出Animal类的name变量
    41. System.out.println(a1.name);
    42. // 输出Animal类的staticName变量
    43. System.out.println(a1.staticName);
    44. // 输出Cat类的eat()方法
    45. a1.eat();
    46. // 输出Animal类的staticEat()方法
    47. a1.staticEat();
    48. // 调用Cat类的str变量
    49. System.out.println(a2.str);
    50. // 调用Cat类的eatMethod()方法
    51. a2.eatMethod();
    52. /********** End **********/
    53. }
    54. }


    总结

    提示:这里对文章进行总结:
    例如:以上就是今天要讲的内容,本文仅仅简单介绍了Java继承和多态之对象类型的转换。

  • 相关阅读:
    【TiDB】TiCDC canal_json的实际应用
    Vue56-组件的自定义事件
    浅析重复线性渐变repeating-linear-gradient如何使用
    MySQL数据库——修改表
    直播系统开发:基于Nginx与Nginx-rtmp-module实现
    Java - 反射
    PHP如果实现自动文章分类
    爬虫业务为什么一定要用住宅代理辅助
    基于bert-base-chinese的二分类任务
    springboot服务端接口公网远程调试 - 实现HTTP服务监听【端口映射】
  • 原文地址:https://blog.csdn.net/m0_65420451/article/details/126572993