-
new创建对象是静态加载类,在编译时进行加载,如果程序中其他的类有问题,那么没有问题的类也是无法执行的 解决这个问题可以使用动态加载 Word w=new Word();静态加载 Class c=Class.forName(类的绝对路径);动态加载 c叫做类的类类型,也可以通过类类型创建实例查看全部
-
c.getDeclaredFields获取的是该类自己声明的成员变量信息(包括公有的和私有的)查看全部
-
getFields()方法获取的是所有public的成员变量信息查看全部
-
getFields()方法获取的是所有public的成员变量信息查看全部
-
1.类是java.lang.Class的对象,有三种方法可以拿到类的类类型。经常使用的是Class.forName或者对象.getClass()。 2.new方法是编译期静态加载对象,需要保证编译时对象就存在且正确。使用类的类类型来加载对象是动态加载对象,运行时正确即可。 3.通过反射可以调用类的方法,哪怕是private的方法,从而修改一些默认的行为。查看全部
-
new创建对象是静态加载类,在编译时进行加载,如果程序中其他的类有问题,那么没有问题的类也是无法执行的 解决这个问题可以使用动态加载 Word w=new Word();静态加载 Class c=Class.forName(类的绝对路径);动态加载 c叫做类的类类型,也可以通过类类型创建实例 c.newInstance(); 功能性的类最好使用动态加载,而不是静态加载。动态加载类指的是程序运行时加载类,而静态加载指的是编译时加载类,编译时加载的缺点是程序中所有的功能都不能有差错,否则的话程序就不能用了,而动态加载类的好处就是我们需要使用哪一个类虚拟机就会动态加载根据我们的需要动态的加载这个类,这样程序的使用就不会受到其他的影响查看全部
-
创建一个类类型的三种方法: 1)Foo类的对象是 foo1 Class c2 = foo1.getClass() --->已知该类的对象,通过该类的对象通过getClass方 法获取Foo类的类类型 2)Foo类的类类型c1指的是Class的对象 Class c1 = Foo.class; 3)Class c3=Class.forName("com.imooc.reflect.Foo"); 三种方式创建的类类型都相等,都是Foo的类类型; Class的用法: 可以通过类的类类型创建Foo的实例对象 Foo foo=(Foo)c1.newInstance(); 4)我们可以通过类的类类型来创建该类的实例对象 Foo foo = (Foo)c1.newInstance(); 前提是需要有无参数的构造方法,它要调用查看全部
-
class Foo(){} class的实例对象的三种表示方式 Class c1 = Foo.class;//任何一个类都有一个隐含的静态成员变量查看全部
-
Class c1=Foo.class; Class c2=foo1.getClass; Class c3=null; c3=Class.forName("类所在的包")查看全部
-
java动态加载类查看全部
-
Class类 万物万事皆对象查看全部
-
class.forName(类的全称) 编译与运行的区别查看全部
-
静态加载 动态加载查看全部
-
reflect查看全部
-
万事万物皆对象,类也是查看全部
举报
0/150
提交
取消