javase---接口
接口:接口是一个比抽象类还要抽象的类,接口中的所有方法,接口和类的关系是实现,implements
interfance
interfance 名称
{
}
接口的成员特点:
只能用抽象方法
只能有常量(默认public static final)
默认使用public&abstract修饰方法
只能使用public和abstract修饰方法
注意:
接口不能创建对象(不能实例化)
类和接口的关系是实现关系,一个类实现一个接口必须实现他所有的方法。
类和类:继承关系,单一继承,多层继承
类和接口:实现关系,多实现
接口与接口之间:只有继承关系,但是一个接口可以继承多个接口
接口的优点:
A:接口是对外暴露的规则。
B:类与接口的关系是实现。
C:接口的出现降低耦合性。(实现了模块化开发,定义好规则,每个人实现自己的模块,大大提高了开发效率)
接口和抽象类之间的异同:
A:相同点:
都位于继承的顶端,用于被其他类实现或继承;
都不能直接实例化对象;
都包含抽象方法,其子类都必须覆写这些抽象方法;
B:区别:
A:一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承) 单继承多实现
B:成员变量
抽象类既可以有常量也可以有变量,接口只能有常量
C:成员方法
抽象类既可以有抽象方法也可以有非抽象方法
接口只能有抽象方法
D:构造方法
抽象类有构造方法,子类通过super语句调用
接口没有构造方法
匿名对象:没有名字的对象,没有变量应用的对象。
* 匿名对象:没有名字的对象
* 匿名对象的应用场景:
* 当方法只调用一次的时候可以使用匿名对象
* 可以当作参数进行传递,但是无法在传参之前做其他的事情
*
* 注意:匿名对象可以调用成员变量并赋值,但是赋值并没有意义