一:反射机制
经过对象获取它所属的类。反射机制的源头是Class类。
Class类
Class类的实例表示正在运行的Java应用程序中的类和接口。
二:获取Class类的实例的三种方法:
1. Class.forName("xxx.xxx.类名");
2. getClass() 返回运行时类
3. 类.class (Android中常常会用到)ide
三:Class类的经常使用方法:
1.public Field[] getFields() 返回全部public的字段
2.public Field[] getDeclaredFields() 返回全部声明的字段(包括private字段)
3.public Method[] getDeclaredMethods() 返回声明的全部方法(不包括构造方法)
4.public Constructor<?>[] getDeclaredConstructors() 返回全部构造方法
5.Constructor<?> getDeclaredConstructor(Class<?>... xxx)获取某个具体的构造方法
6.public T newInstance()
建立此Class对象所表示的类的一个新实例。类中必须含有无参构造!
7.public Method getMethod(String name,
Class<?>... parameterTypes)
name - 方法名
parameterTypes - 参数列表对象
四:Field类的经常使用方法
public String getName() 返回此Field对象表示的字段的名称。
getModifiers() 获取字段修饰符的整数形式
getType() 获取字段类型的Class形式
getName() 获取字段名称接口
五:Method类经常使用方法
getModifiers() 获取方法修饰符的整数形式
Class<?>[] types=method.getParameterTypes(); 获取全部的参数类型
getReturnType() 获取返回值类型
getName() 获取方法名称
invoke(Object obj,Object... args) 调用此方法,obj:调用对象 args...:传递的参数get
六:Constructor类(表明构造方法)
public T newInstance(Object... initargs)调用有参构造实例化对象it
七:Annotation注解:
@Override
检查子类是否正确复写了父类的某个方法。
@SuppressWarnings(xxx)
压制警告
@Deprecated
不建议使用的方法或类io
补充:
一:对象克隆
Object类的方法:
protected Object clone() 建立并返回此对象的一个副本。
只有实现了Cloneable接口的类的对象才能被克隆。class
二:Jar包
JAR(Java Archive)
打Jar包的方法:jar -cvf jar包名称.jar 要打包的文件夹
c:(create)新建jar包
v:(verbose) 显示打包的详细过程
f:(file) 打包文件打包