1.Java 语言的反射机制
在运行时判断任意一个对象所属的类
在运行时构造任意一个类的对象
在运行时判断任意一个类所具有的成员变量和方法
在运行时调用任意一个对象的方法
2.Java中,无论生成某个类的多少个对象,这些对象都会对应同一个Class对象。
3.获得一个类对应的Class类的方法:
a)通过Class.forName("类全称"); 来获得
b)Class<?> classType = className.class;
c)通过Object.getClass()方法获得
4.要想使用反射,首先需要获得待处理类或对象所对应的Class对象。
5.若想通过类的不带参数的构造方法来生成对象,我们有两种方式:
a)先获得Class对象,然后通过该Class对象的newInstance()方法直接生成即可:
Class<?> classType = String.class; Object obj = classType.newInstance();
b)先获得Class对象,然后通过该对象获得对应的Constructor对象,再通过该Constructor对象的newInstance()方法生成:
Class<?> classType = Customer.class;
Constructor cons = classType.getConstructor(new class[]{});
Object obj = cons.newInstance(new Object[]{});
6.若想通过类的带参数的构造方法来生成对象,只能使用下面这种方法:
Class<?> classType = Customer.class;
Constructor cons = classType.getConstructor(new class[]{String.class,int.class});
Object obj = cons.newInstance(new Object[]{"hello",3});
7.Integer.TYPE 返回的是int
Integer.class 返回的是java.lang.Integer
8.代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。(在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用)
9.代理模式一般涉及到的角色有:
抽象角色:声明真实对象和代理对象的共同接口
代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他操作,相当于对真实对象进行封装。
真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。
在运行时判断任意一个对象所属的类
在运行时构造任意一个类的对象
在运行时判断任意一个类所具有的成员变量和方法
在运行时调用任意一个对象的方法
2.Java中,无论生成某个类的多少个对象,这些对象都会对应同一个Class对象。
3.获得一个类对应的Class类的方法:
a)通过Class.forName("类全称"); 来获得
b)Class<?> classType = className.class;
c)通过Object.getClass()方法获得
4.要想使用反射,首先需要获得待处理类或对象所对应的Class对象。
5.若想通过类的不带参数的构造方法来生成对象,我们有两种方式:
a)先获得Class对象,然后通过该Class对象的newInstance()方法直接生成即可:
Class<?> classType = String.class; Object obj = classType.newInstance();
b)先获得Class对象,然后通过该对象获得对应的Constructor对象,再通过该Constructor对象的newInstance()方法生成:
Class<?> classType = Customer.class;
Constructor cons = classType.getConstructor(new class[]{});
Object obj = cons.newInstance(new Object[]{});
6.若想通过类的带参数的构造方法来生成对象,只能使用下面这种方法:
Class<?> classType = Customer.class;
Constructor cons = classType.getConstructor(new class[]{String.class,int.class});
Object obj = cons.newInstance(new Object[]{"hello",3});
7.Integer.TYPE 返回的是int
Integer.class 返回的是java.lang.Integer
8.代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。(在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用)
9.代理模式一般涉及到的角色有:
抽象角色:声明真实对象和代理对象的共同接口
代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他操作,相当于对真实对象进行封装。
真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。