一、前言
面向接口编程,抽象方法是模板,接口是规范
二、接口的基本内容:
interface IFather{
//静态常量 可以省略static和final关键字
public static final String NAME = "张三";
//抽象方法 可以省略abstract关键字
public void eat();
/*
* 在JDK1.8中新增的静态方法
* */
public static void sleep(){
System.out.println("sleep....");
}
/*
* 在JDK1.8中之后可以在接口中声明default方法
* */
default void run(){
System.out.println("run....");
}
}
三、接口和抽象类的区别?
比较点 | 抽象类 | 接口 |
---|---|---|
定义 | 用abstract关键字来修饰的类 | interfaec关键字来修饰 |
组成 | 抽象方法、普通方法、构造方法、成员变量、常量 | 抽象方法、静态常量、JDK1.8注释 |
使用 | 子类继承(extends) | 实现类实现(implements) |
关系 | 抽象类可以实现接口 | 接口是不能继承抽象类的 |
对象 | 都是通过对象的多态实现的 | 都是通过对象的多态实现的 |
局限 | 不能多继承,不能实例化 | 可以多继承,不能实例化 |
选择 | 建议选择接口,避免单继承 | 建议选择接口,避免单继承 |
实际 | 模板 | 标准 |
本文来自博客园,作者:news_one,转载请注明原文链接:https://www.cnblogs.com/new-one/p/17833617.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/199420.html