一.函数式接口
定义:只有一个抽象方法的接口
@Functionallnterface注解在接口定义上方,如果接口是函数式接口则正常编译,否则则报错。
函数式接口类型
1.消费型接口:有形参。
2.供给型接口:有形参,有返回值。
3.断言型接口:有形参,有返回值,返回值是boolean类型。
二.类加载器
分类:系统类加载器,平台类加载器,启动类加载器。
关系:系统类加载器继承于平台类加载器,平台类加载器继承于启动类加载器。
双亲委派模型:如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载。
三.反射
获取class类的三种方法
1.类名.class属性
2.对象名.getClass()方法
3.Class.forName(包名.类名)方法
四.枚举
格式
public enum s{
枚举项1,枚举项2,枚举项3;
}
五.注解
注解:给编译器看的
注释:给程序员看的
元注解:注解的注解
六.设计模式
//饿汉式
//私有化构造方法
private User(){
}
//自定义成员变量
public static User user = new User();
//公开的方法
public static User getUser(){
return user;
}
//懒汉式
//私有化构造方法
private User(){
}
//创建成员变量
private static User user = null;
///公开的方法
public static User getuser(){
if(user == null){
user = new User();
}
return user;
}