zoukankan      html  css  js  c++  java
  • 多态


      多态是一种机制,它体现了程序的可扩展性。在面向对象程序设计中,描述一个对象时,多态指的是一个对象的行为方式可以由多种形态,即根据对象的不同进行不同的操作,因此多态是与具体对象关联的,这种关联叫做绑定。绑定分为静态绑定和动态绑定,静态绑定是在编译时完成的,动态绑定则是在程序运行时完成的。

      java类中方法的重载呈现出多态的特性,它属于静态绑定,是静态多态性。绑定与类的继承相结合即方法的重写,可体现出动态绑定的多态特性,即动态多态性。它在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。动态多态性存在的3个条件是:继承、方法重写、父类引用指向子类对象。

      示例:

    //父类:Animal.java
    public class Animal{
    	String name;
    	Animal(String name){
    		this.name = name;
    	}
    	public String eat(){
    		return "吃食物";
    	}
    }
    
    //子类
    public class Cat extends Animal{
    	Cat(String name){
    		super(name);
    	}
    	public String eat(){
    		return "吃鱼";
    	}
    }
    
    //子类
    public class Dog extends Animal{
    	Dog(String name){
    		super(name);
    	}
    	public String eat(){
    		return "吃肉";
    	}
    }
    
    //Test
    public class Test{
    	public static void main(String args[]){
    		Animal c = new Cat("小猫");
    		Animal d = new Cat("小狗");
    		System.out.println(c.name + c.eat());
    		System.out.println(d.name + d.eat());
    	}
    }
    

      

  • 相关阅读:
    zookeeper编译环境搭建
    windows下zookeeper安装并发布成windows服务
    ScheduledThreadPoolExecutor源码
    AbstractExecutorService源码
    FutureTask源码2
    FutureTask源码
    ThreadPoolExecutor源码2
    ThreadPoolExecutor源码1
    二进制转10进制
    Android ANR Waiting because no window has focus问题分析
  • 原文地址:https://www.cnblogs.com/xiaonanman/p/6749981.html
Copyright © 2011-2022 走看看