zoukankan      html  css  js  c++  java
  • (一道面试题)关于多态

    一.实现多态所具备的条件有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.总结,画张图吧~~动态绑定,在运行期间确定对象,然后运行对应的方法

  • 相关阅读:
    个人博客设计:创建Sql数据库操作类。
    文件 md5 查看 命令
    https 理解
    ie8、9 post 跨域
    tomcat https
    wamp 初始化 修改mysql密码
    面试-Android之java基础
    apktool.bat
    面试------Android 版本之前的差异(常见,欢迎补充)。
    ubuntu kylin 设置 wifi
  • 原文地址:https://www.cnblogs.com/hckblogs/p/7841547.html
Copyright © 2011-2022 走看看