package com.duotai; public class cat implements Animals{ public void eat(){ System.out.println("吃鱼"); } public void catchMouse() { System.out.println("抓老鼠"); } } public interface Animals { public void eat(); } public void animalTest(String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException { //利用反射获得类的对象 Class animalClass = Class.forName(className); Animals animal = (Animals) animalClass.newInstance(); animal.eat(); } public class demo { public static void main(String[] args) { demo a =new demo(); try { a.animalTest("cat"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
对于多态的定义以及使用方法我都可以理解,但是我最不理解的就是多态到底具有什么用处,我查了网上大部分都是举例父类animal,,,子类dog,cat 。。。。animal a=new dog();然后调用方法a.方法,,,,,,,但是我不理解的就是我直接dog a = new dog();调用方法a.方法不就可以了,多态的优点在哪里呢?在代码方面我也并没有看到有优化的作用啊。并且与继承相比较,多态好像只多了一个重载的一个作用?,希望各位指导一下,十分感谢!!
相关分类