深圳商业网站建设案例,国外网页设计评论网站,用织梦做的网站下载,部门网站管理建设工作汇报Java语法学习反射
大纲
基本介绍class的介绍
具体案例
1. 基本介绍 流程图#xff08;程序在计算机的阶段#xff09;
反射的主要的类 这个提高效率不大
2. class的介绍 对于第三点#xff1a;首先类只会加载一次#xff0c;得到的class的对象#xff0c;也只有一…Java语法学习反射
大纲
基本介绍class的介绍
具体案例
1. 基本介绍 流程图程序在计算机的阶段
反射的主要的类 这个提高效率不大
2. class的介绍 对于第三点首先类只会加载一次得到的class的对象也只有一个如果用反射两次得到class的对象只是名字不同地址本质上还是一个
常用方法 public static void main(String[] args) {String classPath reflection.Cat;try {Class? aClass Class.forName(classPath);System.out.println(aClass);//获取这个对象是哪一个类System.out.println(aClass.getClass());//获取运行对象System.out.println(aClass.getPackage().getName());//获取包名System.out.println(aClass.getName());//得到全路径Object obj aClass.newInstance();//得到对象//进行强转Cat cat (Cat) obj;System.out.println(cat);Field name aClass.getField(name);//获取成员(这个是公有)System.out.println(name.get(cat));//获取指定对象的这个属性//通过反射给指定对象属性赋值,遵守访问权限name.set(cat,花花);System.out.println(name.get(cat));//得到成员的集合再遍历Field[] fields aClass.getFields();for (Field field : fields) {System.out.println(field.getName());}//得到构造器Constructor? constructor aClass.getConstructor(int.class,String.class);System.out.println(constructor);} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchFieldException |NoSuchMethodException e) {throw new RuntimeException(e);}}public static void main(String[] args) throws ClassNotFoundException {String classPath reflection.Cat;//第一种通过forName获取Class? aClass1 Class.forName(classPath);//第二种直接获取ClassCat aClass2 Cat.class;//第三种创建对象后利用对象获取Cat cat new Cat();Class? extends Cat aClass3 cat.getClass();//第四种通过类的加载器来获取ClassLoader classLoader cat.getClass().getClassLoader();Class? aClass4 classLoader.loadClass(classPath);}拥有class对象的类 类加载 反射是动态加载在使用时只有运行执行到这段代码才会进行校验 其它的静态加载在编译的时候就会进行校验