接口与抽象类的区别和联系
程序员文章站
2022-03-01 22:12:51
...
1.抽象类的属性可以具有访问级别,而接口的属性必须是public static的。
如何理解:抽象类的成员变量可以是public private protected,默认级别,但接口只能是public static或者不写public static ,如int aa=0;不过接口的属性不写也默认是public static的,其实现类和实例都能使用,但都不能更改。
2.抽象类可以继承接口,而接口不能继承抽象类.
如何理解:没什么好说的,试一下就知道了。ps下,接口不能继承类,但接口可以继承接口。抽象类可以继承类,但是所继承的类,其构造方法不能是私有的,可以默认不写,即抽象类所继承的类必须可以实现,可以new(构造方法是私有的类是不嫩new的)。
3.抽象类的子类可以选择性地实现基类的非抽象方法,而接口的所有方法·必须实现。
如何理解:抽象类的抽象方法必须实现,非抽象方法可实现,可不实现。接口所有方法必须实现。
如何理解:抽象类的成员变量可以是public private protected,默认级别,但接口只能是public static或者不写public static ,如int aa=0;不过接口的属性不写也默认是public static的,其实现类和实例都能使用,但都不能更改。
2.抽象类可以继承接口,而接口不能继承抽象类.
如何理解:没什么好说的,试一下就知道了。ps下,接口不能继承类,但接口可以继承接口。抽象类可以继承类,但是所继承的类,其构造方法不能是私有的,可以默认不写,即抽象类所继承的类必须可以实现,可以new(构造方法是私有的类是不嫩new的)。
3.抽象类的子类可以选择性地实现基类的非抽象方法,而接口的所有方法·必须实现。
如何理解:抽象类的抽象方法必须实现,非抽象方法可实现,可不实现。接口所有方法必须实现。
下一篇: linux系统中设置oracle启停服务