第七天复习:
abstract:
抽象方法: 没有方法体
抽象类:不是创建对象,抽象类中可以没有抽象方法;抽象类要子类,
由子类创建对象——>实现所有的抽象方法(否则需要将此类标识为抽象类)
interface
定义接口:
interface 接口名{
变量:int x=10; 默认 public static final
方法:抽象方法:默认访问修饰符:public abstract
普通方法:jdk8开始,default或者static
}
使用:由实现接口implements——>实现接口中的所有方法
函数式接口:接口中只有一个抽象方法——>lambda表达式
抽象类和接口的区别:
类体:
没有static修饰的内部类;
外部类.内部类 name=new 外部类().new 内部类();
有static修饰的内部类
外部类.内部类 name =new 外部类.内部类();
方法:不可以由static修饰
匿名类:
匿名类可以继承父类,也可以实现接口,可以创建对象
父类类型(接口类型) 变量 +名 =new 父类类型(接口类型)(){
匿名类的类体;
}
___________________________________________________________________________
lambda表达式
代码链接: https://download.csdn.net/download/C_Linda/12662477
函数式接口编程,接口中只有一个抽象方法,把方法通过匿名类实现的方式简化成一个表达式的写法,即lambda表达式
语法格式:
()->{}
()表示形参列表
->符号 goes to
{}表示方法体
lambda表达式使用已定义方法
方法的归属者::方法名