当前位置: 首页 > news >正文

Java的继承:方法;属性?

Java的继承:方法;属性?

  • 前言
  • 前置知识
  • 代码案例

前言

最近公司有个需求需要用 方法模板模式 改造一部分冗余的代码,因为涉及到Java中父、子类之间的继承重写,所有来记录一下
这里抛出一个问题:前提 父类声明的子类对象(例如 父类 aa = new 子类()
如果aa 调用重写的方法 调用的是 父类的?还是子类的?
如果aa 调用重写的属性 调用的是 父类的?还是子类的?

结论:调用方法是子类重写的方法。而属性是父类的属性。

前置知识

绑定:指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定。
静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法),此时由 编译器或其它连接程序实现。
动态绑定: 在运行时根据具体对象的类型进行绑定。

结论:在Java中对属性采用静态绑定,对方法采用动态绑定

代码案例

父类:

public class Animal {
    public String name = "动物名";
    public String moodName = "动物开心地";

    public void eat() {
        System.out.println("动物的吃法---");
        System.out.println(this.name);
        this.mood();
    }

    public void mood() {
        System.out.println(this.moodName);
    }
}

子类:

public class Dog extends Animal{
    public String moodName = "小狗激动地";

    @Override
    public void mood() {
    	System.out.println("子类方法");
        System.out.println(this.moodName);
    }
}

主方法:

public class TestMain {
    public static void main(String[] args) {
        Animal dog = new Dog();
        dog.eat();
    }
}

输出:
在这里插入图片描述

分析一波:

  1. Animal dog = new Dog(); 这里 引用为父类,new的对象为子类
  2. dog.eat();因为Dog本身没有重写eat()方法,所以会走到父类的eat方法 在这里插入图片描述在这里插入图片描述
  3. 紧接着打印“动物的吃法—”;打印Animal.name;
    在这里插入图片描述
  4. 然后执行this.mood(); 因为子类已经重写该方法,所以执行子类的方法 打印“子类方法”、Dog.moodName
    在这里插入图片描述

相关文章:

  • 使用 Google Firebase 控制台和 ESP8266 NodeMCU 的物联网控制 LED
  • 如何理解std::promise和std::future
  • 【conda activate无效】 conda: error: argument COMMAND: invalid choice: ‘activate‘
  • 【css酷炫效果】纯CSS实现悬浮弹性按钮
  • SSH时bashrc失效 - 解决方案
  • 关于“碰一碰发视频”系统的技术开发文档框架
  • 【C++】Virtual function and Polymorphism
  • 数据判定与去重:确保数据准确性和一致性的最佳实践
  • JAVA学习*抽象类
  • 【深度学习与大模型基础】第6章-对角矩阵,对称矩阵,正交矩阵
  • os题:第二章 进程的描述与控制
  • 【C#语言】C#同步与异步编程深度解析:让程序学会“一心多用“
  • 计算机操作系统(6) (经典进程同步问题)
  • ORA-12541: TNS:no listener
  • 自定义捕捉与处理信号的底层逻辑
  • 希尔排序算法
  • 拖拽实现+摇杆实现
  • 【AVRCP】蓝牙协议栈深度解析:AVCTP互操作性核心机制与实现细节
  • 织梦DedeCMS优化文章模版里的“顶一下”与“踩一下”样式
  • C++ 多生产者单消费者(MPSC)模式
  • 古巴外长谴责美国再次将古列为“反恐行动不合作国家”
  • 法治日报整版聚焦:儿童能否成为短视频主角?该如何监管?
  • 沈阳卫健委通报“健康证”办理乱象:涉事医院已被立案查处
  • 中国人民抗日战争暨世界反法西斯战争胜利80周年纪念活动标识发布
  • 工人日报评规范隐藏式车门把手:科技美学须将安全置顶
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,芯片市场有望迎来新增量需求