zoukankan      html  css  js  c++  java
  • 5.6Java多态的介绍

    5.6Java多态的介绍

    多态(polymorphism)

    静态绑定和动态绑定

    绑定

    概念:

    通过显示声明或隐式声明将一事务分配给另一事务

    方法:

    • 赋值给变量

    • 将方法调用关联上某一个具体的方法

    静态绑定(静态联边)(所有的属性都是静态绑定):编译期完成,方法包括
    1. 静态方法---static

    2. 构造器

    3. private方法---私有方法

    4. 关键字super调用的方法

    动态绑定(动态联编):执行期间判断类型完成,降低了代码的执行速度

    Java比C/C++慢的主要因素之一

    继承了父类的子类里面重写了父类的方法---在执行期间new的对象在执行期间才能够真正的找到该方法---编译期间不会真实的去堆空间开辟对象--->看实例化的对象是谁

    多态

    相同事务,调用相同方法,参数相同,表现行为不同

    以封装和继承为基础。子类以父类身份出现,但做的事情时还是以自己的方法实现

    Father类:

    package inheritance;

    /**
    * 定义一个父类,里面写一些方法
    * @author Lucifer
    */
    public class Father {

       /*定义父类方法*/
       public void KongFu(){
           System.out.println("九阳神功!");
      }
    }

    Son类:

    package inheritance;

    /**
    * 继承父类
    * @author Lucifer
    */
    public class Son extends Father{

       @Override
       public void KongFu(){
           System.out.println("九阴真经!");
      }

       public static void testStatic(){
           System.out.println("Son Static");
      }
    }

    Test类:

    package inheritance;

    /**
    * 测试继承后的输出结果
    * @author Lucifer
    */
    public class Test {
       public static void main(String[] args) {

           /*实例化对象输出*/
           Son s = new Son();
           s.KongFu();
           Father f = new Son();
           f.KongFu();
           Father f2 = new Father();
           f2.KongFu();
      }
    }

     

     

    It's a lonely road!!!
  • 相关阅读:
    【Java】 大话数据结构(5) 线性表之双向链表
    反射
    面对对象总结
    面向对象的三大特性
    面向对象基础
    python常见模块之序列化(json与pickle以及shelve)
    python常见模块之os模块
    python常见模块之random模块
    python常见模块之time模块
    python常见模块之collections模块
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14736448.html
Copyright © 2011-2022 走看看