抽象类
语法:
public abstract class A{
}
定义:
- 抽象类无法实例化。但抽象类有构造方法,在子类创建对象时用。
- 抽象类中可以定义抽象方法
public abstract void methods();
,不能有函数体。也只有抽象类中可以定义抽象方法。
接口
语法:
[修饰符] inteface 接口名{}
定义:
接口也是一种引用类型,可以等同看作类。
不同的,
- 接口没有构造方法。
- 接口中只能出现常量和方法。接口中常量的
public static final
可省略 ,抽象方法的public abstract
可省略。 - 接口和接口之间可以多继承(extends)。一个类可以实现(implements)多个接口。
- 一个非抽象的类实现接口,必须将接口中的所有方法实现(即覆盖)。
interface A{
}
interface B{
}
interface C extends A,B{
}
class Myclass implements A,B{
}
接口的作用:
-使项目分层,所有层都面向接口开发。
-使代码间的耦合度降低。