所选教材:JAVA核心卷(一)
内容:第6单元接口,lambda表达式和内部类
1.抽象类:主要用来当父类继承。抽象类、就是一个用abstract修饰的类,在这个类中、你可以定义一些不需要具体实现的方法、也就是没有方法体的方法、这些方法叫做抽象方法、当一个类要继承这个抽象类时、就必须要实现这些抽象方法。
1)抽象类具有不能对象实例化的特征,因此只能被继承使用。2)一个类只能继承一个抽象类。
2.接口
1)一个类可以有多个接口。2)接口不能被类继承只能被类实现。3)接口没有构造方法接口里面的方法必须都是抽象的方法。4)Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法。5),接口不能包含成员变量,除了 static 和 final 变量。6),接口是隐藏式抽象的,所以无需定义abstract。6),接口也可以被继承拓展
接口的定义格式:interface 接口名称,接口和抽象类的作用差不多。
3.内部类:解决多重继承的问题,因为接口只有方法变量,没有方法体。
内部类想要访问外部可以直接访问,包括private定义私有变量。外部成员想要访问内部类则需要创建对象进行调用。
匿名内部类也就是没有名字的内部类
正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。