• (一道面试题)关于多态


    一.实现多态所具备的条件有3个:

    1.继承关系

    2.子类重写父类的方法

    3.父类的引用指向子类的对象

    二.实现一波:

    1.编写Animal类,作为一个父类,有一个name方法,用于给子类重写.

    public class Animal {
       public void name(){
    	   System.out.println("我是一只动物");
       }
    }
    

    2.编写Monkey类继承Animal类,并重写父类name方法,拥有自己独有的climb()方法

    public class Monkey extends Animal {	
    	@Override
    	public void name() {
    		System.out.println("我是一只猴子");
    	}
    	public void climb()
    	{
    		System.out.println("我会爬树");
    	}
    
    }
    

    3.编写测试类

    1.先上一张图,他证明的一个道理是:父类的引用指向子类的对象时,父类只能访问自己所拥有的方法,

    比如Monkey类的climb()方法.animal是无法访问的.

    2.上完整代码:

    public class PolymorphismDemo {
         public static void main(String[] args) {
        	//向上转型,父类的引用指向子类的对象
    		Animal animal=new Monkey();
    		animal.name();
    	}
    }
    

    3.结果:

    4.总结,画张图吧~~动态绑定,在运行期间确定对象,然后运行对应的方法

  • 相关阅读:
    桌面应用程序ClickOne打包部署
    Linux系统基础5周入门精讲(Linux发展过程)
    Linux系统基础5周入门精讲(服务器介绍)
    算法进阶--动态规划
    行为型模式
    结构型模式
    设计模式
    哈希表--树
    数据结构
    查找排序相关面试题
  • 原文地址:https://www.cnblogs.com/hckblogs/p/7841547.html
Copyright © 2020-2023  润新知