Java多态(利用向上向下转型和反射机理)

发布时间:2017-3-30 12:53:35 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java多态(利用向上向下转型和反射机理)",主要涉及到Java多态(利用向上向下转型和反射机理)方面的内容,对于Java多态(利用向上向下转型和反射机理)感兴趣的同学可以参考一下。

Java多态(利用向上向下转型和反射机理)     //基类:         public class Polymorphism {            public int book=6;            public void base(){                System.out.println("父类的普通方法");            }            public void test(){                System.out.println("父类的被覆盖的方法");            }                }        //子类                 import java.lang.reflect.InvocationTargetException;        import java.lang.reflect.Method;                public class SubClass extends Polymorphism {                    public String book="子类的book";                        @Override            public void test() {            System.out.println("子类的覆盖父类的方法");            }            public void sub(){                System.out.println("子类特有的独特方法");            }                    public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {                                Polymorphism bs=new Polymorphism();                System.out.println(bs.book);                bs.base();                bs.test();                SubClass sc=new SubClass();             //通过引用变量来访问其包含的实例属性时,系统总是试图访问它编译时类所定义的属性,而不是它运行时类所定义的属性               System.out.println(sc.book);             sc.test();          sc.base();          sc.sub();            Polymorphism py=new SubClass();          System.out.println(py.book);          py.base();   py.test();          //利用向下转型可以访问子类特有方法           SubClass ss=(SubClass)py;          ss.sub();          //利用反射也可以          Method[] cla=py.getClass().getMethods();   int i=1;        for(Method mth:cla){            System.out.println(i+":");            System.out.println(mth.toString()+":"+mth.getName());//省略             if(mth.getName()=="sub"){                System.out.println("*********");                mth.invoke(py, null);//执行子类特有的方法体                 break;            }            i++;                 }   }  }   

上一篇:Notepad++快捷键
下一篇:android 用Pull 读取XML

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款