知识点总结java虚拟机类加载的过程和时机 类加载 类链接 验证:验证当前类的语法结构 准备: 类变量的内存分配 解析: 将变量名换成内存地址
类初始化
何时会触发类的加载和初始化 类加载器的作用 Java类加载器分类(父类委托) 应用程序类加载器:负责加载我们工程中自定义的类 平台类加载器:底层类库的加载 根类加载器:底层类库的加载
反射的概念 获取类class对象的三种方式 类名.class 对象.getClass() Class.forName("完整类路径")
反射获取构造方法 获取共有构造方法: c.getConstructors() 获取全部构造方法: c.getDeclaredConstructors() 获取单个的共有构造方法: c.getConstructor(Class<?>... parameterTypes) 获取单个全部的构造方法:c.getDeclaredConstructor(Class<?>... parameterTypes) 获取到构造方法对应的对象后如何实例化:newInstance() 可以调用私有构造:setAccessible(true);
反射获取字段 获取所有公有属性:getFields() 获取所有属性:getDeclaredFields() 获取单个公有属性:getField(String fieldName) 获取单个所有属性:getDeclaredField(String fieldName) 为属性赋值:addressField.set(obj,"西安"); 读取属性的值:addressField.get(obj)
反射调用方法 获取所有公有方法包括继承来的:getMethods() 获取所有方法不包括继承来的:getDeclaredMethods() 获取单个公有方法:getMethod("方法名") 获取单个方法:getDeclaredMethod("方法名") 方法调用:m.invoke(obj);
模块化编程 导出包和接口实现类 import com.test.MyInterface;
import com.test.MyInterfaceImpl1;
import com.test.MyInterfaceImpl2;
module MyOne {
exports com.test;
provides MyInterface with MyInterfaceImpl1, MyInterfaceImpl2;
}
import com.test.MyInterface;
module MyTow {
requires MyOne;
uses MyInterface;
}注解1.注解概念注解就是用于说明程序的。参与程序的运行 JDK1.5版本之后的新特性
2.注解的作用3.常用的注解4.自定义注解
public @interface 注解名称{
}本质 注解中的属性 属性(方法)的返回值数据类型 基本数据类型四类八种 String 枚举 注解 以上数据类型的数组
注意事项
元注解
|
|