Book09-No.14 类型信息
1、创建Class对象:每个类都有一个Class对象
?
Class<?> classType = Class.forName("包.类名"); //在创建class对象的时候,初始化了类
?
或者
?
Class<?> classType = 类名.class; //没有初始化类
?
2、通过Class创建实例对象:?
?
Class<T> classType = Class.forName("包.类名");
T obj = classType.newInstrance();
?
3、PetCount代码:
?
?
?
4、注册工厂设计模式:将对象的创建交给类自己去完成
?
?
?
?5、反射
?
package Part14;/** * 简单代理 * @author Administrator * */public class SimpleProxyDemo {public static void main(String[] args) {RealObject object = new RealObject();consumer(object);SimpleProxy proxy = new SimpleProxy(object);consumer(proxy);}public static void consumer(Interface inter) {inter.doSomething();inter.somethingElse("baobo");}}interface Interface {void doSomething();void somethingElse(String param);}class RealObject implements Interface {@Overridepublic void doSomething() {System.out.println("RealObject doSomething()");}@Overridepublic void somethingElse(String param) {System.out.println("RealObject somethingElse()");}}class SimpleProxy implements Interface {private Interface proxied;public SimpleProxy(Interface proxied) {this.proxied = proxied;}@Overridepublic void doSomething() {System.out.println("SimpleProxy doSomething()");proxied.doSomething();}@Overridepublic void somethingElse(String param) {System.out.println("SimpleProxy somethingElse()");proxied.somethingElse(param);}}?7、
?