java中的多态-父类引用指向子类对象

来源:互联网 发布:世界编程大赛第一名 编辑:程序博客网 时间:2024/05/16 19:05

这个是java面对对象3大特征之一

package forDemo;public class DuotaiDemo {     static abstract class machine{        public  abstract void use();        public void other(){            System.out.println("我是插电的");//事实证明抽象的类中能有非抽象的方法        }    }     static class  Tv extends machine{        @Override        public void use() {            System.out.println("看电视");         }        }     static class Playgame extends machine{        @Override        public void use() {        System.out.println("玩游戏");        }        public void other(){            System.out.println("我是太阳能的");        }        public void cost(){            System.out.println("我花了5K");        }      }     public static void aaa1(machine m){         if (m instanceof Tv) {//当有“多个”子类中有父类共同方法的时候,父类引用指向子类对象时,需要用instanceof来判断这个引用到底是指向那个子类的            m=new Tv();            m.use();        }else if (m instanceof Playgame) {//并且是当子类有自己的独特的方法时才这样写。            m=new Playgame();            m.use();            m.other();            ((Playgame) m).cost();        }     }    public static void main(String[] args) {        /*        Playgame  pg=new Playgame();        aaa1(pg);        Tv  tv=new Tv();        aaa1(tv);*/        aaa1(new Playgame());        aaa1(new Tv());    }}

自己学安卓的路线当时只学了java中的方法,就开搞安卓了,其实这样也能行,到后面发现东西不够用了再来补java的基础会发现学的很快

0 0