接口与抽象(abstract)类

抽象(abstract)

用abstract关键字来修饰一个类时,这个类的叫做抽象类,用abstract来修饰一个方法时,该方法叫做抽象方法

含有抽象方法的类必须被声明为抽象类,有抽象方法的类一定是抽象类,抽象类不一定有抽象方法

抽象类必须被继承

抽象方法必须被重写

抽象类不能被实例化

抽象方法只需声明,而不需实现

接口(interface)

接口interface是抽象方法和常量值定义的集合 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

多个无关的类可以实现同一个接口。

一个类可以实现多个无关的接口

与继承关系类似,接口与实现类之间存在多态性

定义Java类的语法: <修饰符> class <name> [extends <父类>] [implements <interface> [,<interface>]*] {}

接口中声明属性默认为public static final的;也只能是public static final的;

接口中只能定义抽象方法,而且这些方法默认为public,也只能是public 接口可以继承其它的接口,而添加新的属性和抽象方法。 JDK8之后可以声明静态方法 public static [方法名]([参数列表]) [throws 异常列表] JDK8还允许存在默认方法 public default void defaultMethod(){}  (default不能省略); 子类重写接口默认方法时,必须去掉default。

猜你喜欢

转载自blog.csdn.net/QingXu1234/article/details/81476220