文档章节

接口

 烟中泪
发布于 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
私信 提问

暂无文章

Flink 幕后之内存管理

Flink 幕后之内存管理 引言 目前很多大数据处理框架,例如Hadoop、Spark、Storm、Flink等。它们都基于JVM语言开发(java or scala),运行在JVM上。为了加速合并或者排序(基于磁盘的方式通常...

moyiguke
20分钟前
2
0
风起云涌,看云计算如何赋能媒体行业?

在媒体行业的转型升级中,云计算的出现多维度促进了媒体融合,打破传统媒体行业与新媒体的界限和竞争格局,在媒体素材管理、移动端功能演进的过程中扮演着重要角色,颠覆了传统媒体新闻采编、...

七牛云
23分钟前
1
0
Mybatis开发遇到问题汇总

mybatis 中![CDATA[...]] 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ ]]>. 这是XML...

wangwei2134
31分钟前
1
0
参数验证 @Validated 和 @Valid 的区别

来源:blog.csdn.net/qq_27680317/article/details/79970590 整编:Java技术栈(公众号ID:javastack) Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范......

Java技术栈
33分钟前
1
0
JS实现继承的几种方式

前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。 JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: ...

不负好时光
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部