接口

接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来。

public interface Usb {
  // 抽象方法可以省略abstract
    public void start();
    public void stop();
}

public class phone  implements Usb{
    // phone 类需实现 Usb 接口中规定的方法
    @Override
    public void start() {   }
    @Override
    public void stop() {   }
}

1. 注意事项

  • 接口不能被实例化。
  • 接口中的所有方法是public方法,接口中的抽象方法,可以不用abstract修饰。
  • 一个普通类实现接口,就必须将该接口的所有方法都实现。
  • 一个类同时可以实现多个接口
interface IB{
    void hi();
}
interface IC{
    void say();
}

class Pig implements IB,IC{

    @Override
    public void hi() { }

    @Override
    public void say() { }
}
  • 接口不能继承其他的类,但是可以继承多个别的接口
interface ID extends IC,IB{ }
  • 接口的修饰符只能是piblic和默认的

继承VS接口

当子类继承了父类,就自动拥有了父类的功能,如果子类需要扩展功能,可以通过实现接口的方式扩展。

  • 继承主要解决代码的复用性和可维护性;接口主要在于设计好各种规范,让其他类去实现这些方法,更加的灵活
interface RUN{
    void run();
}
class Animal{
    private String name;

    public Animal(String name) {
        this.name = name;
    }

    public void say(){
        System.out.println(name + "在说话");
    }
}
class Dog extends Animal implements RUN{
    public Dog(String name) {
        super(name);
    }

    @Override
    public void run() {
        System.out.println("奔跑");
    }
}

3. 接口多态

接口类型的变量,可以指向实现了接口的对象实例

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容