美文网首页
Java抽象类Abstract Class和接口Interfac

Java抽象类Abstract Class和接口Interfac

作者: sea_biscute | 来源:发表于2022-07-19 16:45 被阅读0次

抽象类Abstract Class和接口Interface区别

抽象类是为了隐藏内部实现,只向外部展示当前类具备的功能。


Abstract Class与Interface的区别
  • 默认实现: 接口不可用有实现,必须是绝对的抽象方法。抽象类可以有实例来实现默认行为。
  • 方法类型: 接口只能有抽象方法。抽象类可以有抽象方法和非抽象方法。从Java 8开始,抽象类可以增加默认实现和静态方法。
  • Final 变量: 接口内的变量默认会声明为 final 类型。抽象类可以持有非final变量。
  • 变量类型: 抽象类可以持有 final ,非 final ,静态和非静态变量。接口只能持有静态和 final 变量。
  • 实现: 抽象类可以提供接口的实现,接口不能提供抽象类的实现。
  • 继承和抽象区别: 接口通过 implements 关键字实现,抽象类通过 extends 关键字实现。
  • 多重实现: 接口可以继承一个或多个接口。抽象类只能继承一个Java类,可以实现多个Java接口。
  • 数据成员的可访问性: 接口的成员默认是 public 的。抽象类的成员可以是 privateprotected 等。

使用场景

何时用抽象类,何时用接口

接口可以对不用的类适用,实现类之间不需要有什么共同点。

知识点补充

多继承

Java是否支持多继承,在多继承时的特点与场景,优劣势

实现多接口

Java是否支持实现多接口,在多继承时的特点与场景,优劣势

Final变量

Static静态变量

相关文章

网友评论

      本文标题:Java抽象类Abstract Class和接口Interfac

      本文链接:https://www.haomeiwen.com/subject/xnfsirtx.html