1,静态加载:编译时加载(用new创建对象是静态加载类)
2,动态加载:运行时加载(Class c = Class .forName();Foo foo = (Foo)c.newInstance();
3,定义一个接口,不同类型的对象可以实现该接口,以确保动态加载类时强转类型的一致性;
2,动态加载:运行时加载(Class c = Class .forName();Foo foo = (Foo)c.newInstance();
3,定义一个接口,不同类型的对象可以实现该接口,以确保动态加载类时强转类型的一致性;
2015-09-01
所有的类是java.lang.Class类的实例;
1,任何一个类都有一个隐含的静态成员变量class(Class c1 = Foo.class; //c1也称为类类型;)
2,Class c2 = Foo.getClass();
3, Class c3 = Class .forName("com.imooc.reflect.Foo");
4,Foo foo = (Foo) c1.newInstance(); //可通过c1,c2,c3,c4创建对象实例
1,任何一个类都有一个隐含的静态成员变量class(Class c1 = Foo.class; //c1也称为类类型;)
2,Class c2 = Foo.getClass();
3, Class c3 = Class .forName("com.imooc.reflect.Foo");
4,Foo foo = (Foo) c1.newInstance(); //可通过c1,c2,c3,c4创建对象实例
2015-09-01