-
new 创建对象时静态加载类,他会在new的 时候将编译时所有用到的类加载进去 Class.forName() 动态加载类,他会在运行的时候加载类查看全部
-
普通数据类型,静态的成员不是面向对象 类是对象,类是java.lang.Class类的实例对象 任何一个类都是Class的实例对象 可以通过 Class c= Foo.class; Class c = foo1.getClass; Class c= Class.forName("com.imooc.reflect.Foo"); 一个类只可能是Class类的实例对象查看全部
-
可以通过类类型(C1或C2)创建Foo类的对象,需要强制类型转换,且Foo类需要有无参构造方法查看全部
-
第三种表达方式,括号里是Foo类的全称查看全部
-
java.long.Class类的实例对象的表示方式查看全部
-
理解:foo类的类类型指foo类也是对象,是java.long.Class类的实例对象。实际上我们写的类都是java.long.Class类的实例对象。查看全部
-
类是对象,类是java.lang.Class类的实例对象查看全部
-
功能性的类尽量使用动态加载查看全部
-
用print对象操作a1查看全部
-
根据对象 抽取他的类 然后再根据Class获取 参数 方法 构造函数等等信息查看全部
-
java集合中的泛型都是只在编译阶段有效的,也就是仅仅为了防止开发人员错误的加入不同类型的数据到集合中去,但是一旦过了编译阶段,其实集合的泛型是去泛型化的,通过反射可以验证这一点,因为反射的所有操作都是动态的,都是在编译完成以后进行的,这样在集合中就可以添加任何类型的元素,正好验证了集合的泛型在编译以后是去泛型化的。查看全部
-
可以用反射得到方法对象,然后用反射invoke调用方法,需要传入一个该类的实例对象和方法的参数查看全部
-
构造函数也是对象,java.lang.Constructor中封装了构造函数的信息,我们只要想得到一个类内部的信息我们就需要先得到这个类的类类型,然后查看api去获取到这个类的具体信息。查看全部
-
基本数据类型和void和java中的很多关键字都存在自己的类类型,类中的方法也是一个对象,可以通过类类型获取到该类的所有方法和方法参数,得到的都是类类型,通过.getName方法获取名称。getMethods方法得到的是所有的public方法和,包括继承来的方法,getDeclaredMethods得到的是自己的方法,不分范围,包括public private查看全部
-
功能性的类最好使用动态加载,而不是静态加载。动态加载类指的是程序运行时加载类,而静态加载指的是编译时加载类,编译时加载的缺点是程序中所有的功能都不能有差错,否则的话程序就不能用了,而动态加载类的好处就是我们需要使用哪一个类虚拟机就会动态加载根据我们的需要动态的加载这个类,这样程序的使用就不会受到其他的影响。查看全部
举报
0/150
提交
取消