java基础--反射(构造方法)

来源:互联网 发布:歌曲网络一线牵 编辑:程序博客网 时间:2024/05/29 09:13

这里学到的知识是看张孝祥老师的视频学习的,所以在这里要向张老师致谢!虽然他已不能听到看到,但老师的声音听起来还是比较祥和!希望好老师都有好的好的回报,在这里还是提醒自己和大家,努力学习的过程中不要忘记了身体才是革命的本钱!多多锻炼!


package Reflect;import java.lang.annotation.Annotation;import java.lang.reflect.Constructor;/** * 只要在源程序中出现的类型,都有各自的Class实例对象,例如,int[],void  * @author xiaoyu * *反射: 就是把java类中的各种成分映射成相应的java类  * * 反射的基础知识 */public class TestReflect {/** * @param args */public static void main(String[] args) throws Exception {String str1="abc";Class cls1=str1.getClass();Class cls2=String.class;Class cls3= Class.forName("java.lang.String");//字节码只有一份 所以都相等System.out.println(cls1==cls2);//trueSystem.out.println(cls1==cls3);//trueSystem.out.println(cls2==cls3);//trueSystem.out.println(cls1.isPrimitive()); //false 是否为基本类型System.out.println(int.class.isPrimitive());  //trueSystem.out.println(Integer.class.isPrimitive()); //falseSystem.out.println(int.class);  //intSystem.out.println(Integer.class); //class java.lang.Integer System.out.println(Integer.TYPE); //int System.out.println(int[].class); //class [ISystem.out.println(int[].class.isPrimitive());//falseSystem.out.println(int[].class.isArray()); //trueSystem.out.println(".................");Class cls4= Class.forName("Reflect.TestReflect");System.out.println(cls4); //class Reflect.TestReflectSystem.out.println(cls4.getName());//Reflect.TestReflectSystem.out.println(cls4.getSimpleName());//TestReflectSystem.out.println(cls4.getAnnotations());  //[Ljava.lang.annotation.Annotation;@e53108Annotation[] annotations=cls4.getAnnotations();System.out.println("11:::"+cls4.getClass());//class java.lang.ClassSystem.out.println(cls4.getClasses());//[Ljava.lang.Class;@1f33675System.out.println(cls4.getClassLoader());//sun.misc.Launcher$AppClassLoader@6b97fdSystem.out.println(cls4.getPackage());//package ReflectSystem.out.println(cls4.getTypeParameters());//[Ljava.lang.reflect.TypeVariable;@5483cdTestReflect test1=(TestReflect) cls4.newInstance();System.out.println(test1.getClass());  //class Reflect.TestReflect//构造方法的反射Constructor constructor = String.class.getConstructor(StringBuffer.class);String str2= (String) constructor.newInstance(new StringBuffer("abc"));System.out.println(str1 == str2);  //false}}
这里一些反射的基本知识,自己就是测测,看看都有哪些功能!不对的地方还望大牛们不吝赐教,互相交流学习,共同进步!



原创粉丝点击