抽象类和接口的区别?怎么用?

2019-08-19  本文已影响0人  王多鱼2

1, 接口 https://www.runoob.com/java/java-interfaces.html

接口与类的区别:
接口特性:
接口有以下特性:
/* 文件名 : Animal.java */
interface Animal {
   public void eat();
   public void travel();
}
接口的继承

一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口继承父接口的方法。

下面的Sports接口被Hockey和Football接口继承:
// 文件名: Sports.java
public interface Sports
{
   public void setHomeTeam(String name);
   public void setVisitingTeam(String name);
}
 
// 文件名: Football.java
public interface Football extends Sports
{
   public void homeTeamScored(int points);
   public void visitingTeamScored(int points);
   public void endOfQuarter(int quarter);
}
 
// 文件名: Hockey.java
public interface Hockey extends Sports
{
   public void homeGoalScored();
   public void visitingGoalScored();
   public void endOfPeriod(int period);
   public void overtimePeriod(int ot);
}
接口的多继承

在Java中,类的多继承是不合法,但接口允许多继承。

在接口的多继承中extends关键字只需要使用一次,在其后跟着继承接口。 如下所示:

public interface Hockey extends Sports, Event

2抽象类 https://www.runoob.com/java/java-abstraction.html

抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

抽象类总结规定

3.抽象类和接口的区别

4.如何选择抽象类和接口

我的理解是,比如汽车类 汽车又发动机,轮胎,车体等构成
BM 奔驰 奥迪 等汽车 都必须要的这些方法。 这个时候用抽象; 比如行车记录仪。可能汽车不需要这个东西,我也抽象方法, 这个时候我用接口,需要的就去实现它。 假设有很多特殊功能,我没有的汽车也都去实现它 岂不是造成很多没必要的代码浪费;

上一篇 下一篇

猜你喜欢

热点阅读