文档章节

接口

 烟中泪
发布于 2017/02/28 16:26
字数 281
阅读 2
收藏 0

定义一个接口,要使用interface关键字。

  • 接口中的变量固定修饰符: public static final
  • 接口中的方法固定修饰符: public abstract

类要操作接口,必须使用implements关键字。当A类实现了B接口时,对B接口中的方法有两种处理方式:

  1. A实现接口中的所有抽象方法;
  2. 把A类定义为抽象类。
public interfa B{
        public static final int X = 5;
        
        public abstract void run();
        public abstract void go();
}
public class implements B {
        public void run() {
        }
        public void go() {
        }
}

或者

public abstract class A implements B {
        //可以不实现B接口中的方法
}

 

抽象类和接口的区别:

  1. 抽象类只能被继承,而且只能单继承。接口需要被实现;而且可以多实现。
  2. 抽象类中可以定义非抽象方法,子类可以直接继承使用;接口中都有抽象方法,需要子类去实现。
  3. 抽象类使用的是  is a 关系;接口使用的 like a 关系。
  4. 抽象类的成员修饰符可以自定义;接口中的成员修饰符是固定的。全都是public的。

© 著作权归作者所有

共有 人打赏支持
上一篇: 异常
下一篇: 抽象类
粉丝 0
博文 25
码字总数 8535
作品 0
私信 提问

暂无文章

node上的redis调用优化示例

Node.js读写数据到influxDB,目前已经有一个库node-influx, 这个库功能非常强大,但是我个人使用这个库的时候,遇到无法解决的问题。 使用curl都可以写数据到influxDB,但是用node-influx总是...

前端攻城老湿
15分钟前
1
0
The setting logImpl is not known

问题: org.apache.ibatis.builder.BuilderException: The setting logImpl is not known. Make sure you spelled it correctly (case sensitive). MyBatis 3.1.1 -jar还没有 logImpl 这个设......

晨猫
27分钟前
1
0
eslint一些规则

一、指定js文件不使用 ESLint 语法检查 1.整个文件范围内禁止规则出现警告 将/* eslint-disable */放置于文件最顶部 /* eslint-disable */alert('foo'); 2.在文件中临时禁止规则出现警告 ...

xiaoge2016
27分钟前
1
0
mac终端常用命令

ls ls,list的简写,列出目录的内容。 -a:显示隐藏文件 -l:以列表方式显示文件信息 -h:配合-l,显示更人性化 配合通配符使用 ls *.txt:显示所有以.txt结尾的文件 ls ?.txt:显示‘任意字符.tx...

xiaobai1315
29分钟前
1
0
java命令行读取配置,和加载jar的方式

--spring.profiles.active=t2,t3,xextest --spring.profiles.include=quartz-jp-Djava.ext.dirs=libs-Dspring.config.location=/data/apps/DBconfig -cp  "config/*"  start.sh......

经常把天聊死的胖子
40分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部