Java 抽象类

138 阅读1分钟

接口(interface)

有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。如果实现接口的类中没有实现接口中的全部方法,必须将此类定义为抽象类。

接口(interface)是抽象方法和常量值的定义的集合。

从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量(**但可以有常量static final **)和方法的实现。

如果实现接口的类中没有实现接口中的全部方法,必须将此类定义为抽象类。

要点

  1. 接口没有构造方法。构造方法用于创建对象

  2. 实现接口的类中必须提供接口中所有方法的具体实现内容。

  3. 多个无关的类可以实现同一个接口

  4. 一个类可以实现多个无关的接口

  5. 与继承关系类似,接口与实现类之间存在多态性

  6. 接口也可以继承另一个接口,使用extends关键字。

样例

public class InterfaceTest {
    public static void main(String[] args) {
        
    }
}
/*
    接口也经常用来被定义常量的集合  默认省略public static final
    定义更简单,使用更方便
 */

interface Power {
    int vol = 220;
    double hz = 50.0;
}
interface Calculator{//一个文件只能有一个public类
    int a=84654;//默认public static final
    void add();//方法默认public abstract
    void sub();

}
interface CalculatorPlus{
    void div();
    void mul();
}
class CalculatorImpl implements Calculator,CalculatorPlus{//多继承
    @Override
    public void add() {

    }

    @Override
    public void sub() {

    }

    @Override
    public void div() {

    }

    @Override
    public void mul() {

    }
}