zoukankan      html  css  js  c++  java
  • java 多态 为什么属性不支持

    我们的属性不具有多态特性。我们直接调用属性值,那么出来的就是父类的属性值,为什么呢?

    这个就是静态绑定和动态绑定的问题了

    编译期间的绑定就是静态绑定,运行期间的绑定就是动态绑定,java为了实现多态的这个机制,选择让方法在运行期间绑定对应对象所对应实际类型,选择让属性在编译期间绑定其所对应实际类型。那么这个问题不就解决了?

    编译期间时,肯定是父类的类型,如果直接调用属性,故名思议则是父类所对应的属性值。而方法则是在运行期间绑定的,这个对象实际上实际是子类对象,那么运行期间就肯定是子类类型,故方法是子类的方法,而在方法中调用的值是子类的值就更简单了,我们调用子类的值时,实际上简写了this.属性,而this却是指当前对象。当前对象只有被实例化才会有对象,那么肯定是运行期间,故在方法里面调用属性值是子类的值。

  • 相关阅读:
    高地址,低地址:
    大小端
    大小端
    linux下C语言编程解决warning : incompatible implicit declaration of built-in function问题
    给char赋16进制
    go channel 概述
    vue2.x入门学习
    vue-cli安装记录
    maven常用Java配置
    activiti工作流引擎
  • 原文地址:https://www.cnblogs.com/chengfengchi/p/14302904.html
Copyright © 2011-2022 走看看