接口类和抽象类的区别

  1. 主要的区别是Java接口的方法是隐式抽象的,不能实现。Java抽象类可以有实现默认行为的实例方法。

  2. 在Java接口中声明的变量默认是final。抽象类可以包含非最终变量。

  3. 默认情况下,Java接口的成员是公共的。Java抽象类可以具有通常的类成员风格,如private、protected等。

  4. Java接口应该实现使用关键字“实现”;Java抽象类应该使用关键字“extends”进行扩展。

  5. 一个接口只能扩展另一个Java接口,一个抽象类可以扩展另一个Java类并实现多个Java接口。

  6. 一个Java类可以实现多个接口,但它只能扩展一个抽象类。

  7. 接口是绝对抽象的,不能被实例化;Java抽象类也不能被实例化,但是如果存在main()则可以被调用。

  8. 与java抽象类相比,java接口很慢,因为它需要额外的间接性。

posted @ 2023-08-31 18:53  孤舟浮岸  阅读(2)  评论(0编辑  收藏  举报