zoukankan      html  css  js  c++  java
  • Java多态与动态绑定

    1.多态

       一个实例变量可以引用多种不同类的实例的现象称为多态,这些类之间是父类与子类的关系,即父类引用可以指向子类的对象,这样参数是父类类型的方法也可以用来处理子类。

    2.动态绑定

       父类有多个子类,且多个子类都继承了父类中某个方法并以不同实现重写了。由于多态,父类引用可能指向的是子类对象,在使用父类引用调用该方法时,虚拟机可以在运行时决定调用对象的实际类型中的实现,即所谓的动态绑定。

    3.静态绑定

      静态绑定即在编译时根据引用声明的类型来决定调用哪个实现,调用private方法、final方法以及static方法时就是采用静态绑定,访问类的属性时也采用静态绑定。

    class Parent
     {
       public int value = 9;
       
       public int method()
       {
          return value;
       }
        
       public void printValue()
       {
           System.out.println(value);          //静态绑定,隐式参数this的声明类型是Parent,因此访问的是父类中的value
           System.out.println(method());       //动态绑定,隐式参数this传递进来的实际类型是Child,因此调用的是子类中的method
       }
     }
     
     class Child extends Parent
     {
       public int value = 8;
        
       public int method()
       {
          value--;
          return value;
       }
     }
     
     public class Test extends Parent
     {
        public static void main(String[] args)
        {
            Parent child = new Child();
            child.printValue();
        }
     }

    参考资料 《Java核心技术》

  • 相关阅读:
    java后端解决请求跨域
    在IDEA中找不到Mapper报错
    ES6拼接数组与小程序本地存储
    小程序云开发实现微信发说说
    SQLServer的操作以及一些概念
    数据依赖(决定),码,范式,规范化与反规范化
    Git的使用上传与下载github
    JS中Map和ForEach的区别
    进入React的世界
    Node的重要性
  • 原文地址:https://www.cnblogs.com/jqctop1/p/4664896.html
Copyright © 2011-2022 走看看