接口抽象类

  • 都不能被实例化, 限制使用者实例化出对象

抽象类

包含抽象方法的类叫做抽象类, 抽象类必须使用 abstract 修饰; 抽象类不能够生成实例对象, 必须通过继承来使用, 继承的子类必须实现抽象方法; 子类使用 extends 继承抽象类; 抽象类同样只能继承一个;

abstract class AbstractClass{
    private int i;
    public abstract void m(int i);
}

接口

接口里面的方法都没有实现, 接口里只能有未实现的方法; 接口都是 public 的, 以确保在包外也可以使用接口; 接口方法是隐藏了 static final 的修饰 使用 implements 实现接口, 一个类可以实现多个接口, 接口的实现类也可以向上转型为接口; 接口继承接口使用 extends;

使用接口可以通过向上转型增加灵活性, 同时避免实例化对象;

interface Interface{
    void m();
}

基类在抽象类和接口之间选择的话, 尽可能的使用接口, 也不是说一定要用接口

results matching ""

    No results matching ""