一、定义(类之上的公共标准)

一个特殊的类,用interface关键字来表示。只有全局变量和抽象方法。解决Java中子类只能单继承的问题

【语法】 [访问修饰符:public 或 default]   [ 接口名字:和类名形似 ]   ( extends  [ 父接口1,父接口2.。。] )

{

常量定义;

抽象方法;

}

即:

1. 访问修饰符:只能是public或默认       2. 接口名:和类名采用相同命名机制。    3. extends:接口可以多继承。

4. 常量:接口中的属性只能是常量,总是:public static final 修饰。不写也是。

5. 方法:接口中的方法只能是:public abstract。 省略的话,也是public abstract。

【注】

1. 子类通过implements来实现接口中的规范。        2. 接口不能创建实例,但是可用于声明引用变量类型。

3. 一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public的。

4. JDK1.7之前,接口中只能包含静态常量、抽象方法,不能有普通属性、构造方法、普通方法。

5. JDK1.8后,接口中包含普通的静态方法。

【示例】

【代码示例】

 //接口:一个特殊的类  关键字  定义接口interface 和 实施接口 implement
//飞行接口
interface Volant {
int FLY_HIGHT = 100; // 总是:public static final类型的;
void fly(); //总是:public abstract void fly();
}
/**善良接口*/
interface Honest {
void helpOther();
} /**Angle类实现飞行接口和善良接口*/
class Angel implements Volant, Honest{ //天使类继承(这里用关键字 implement:实施实现)2个接口,重写2个接口中的抽象方法
public void fly() {
System.out.println("天使在飞行");
}
public void helpOther() {
System.out.println("扶老奶奶过马路!");
}
} //好人类只继承善良的接口
class GoodMan implements Honest {
public void helpOther() {
System.out.println("我是一个好人");
}
} class BirdMan implements Volant {
public void fly() {
System.out.println("我是鸟人,正在飞!");
}
} public class Test_1205_01
{
public static void main(String[] args)
{
Volant volant = new Angel(); //接口Volant 不能创建实例,但是可用于声明引用变量类型(Volant volant) 。
volant.fly();
System.out.println(Volant.FLY_HIGHT); //输出常量接口中的常量 Honest honest = new GoodMan();
honest.helpOther(); //输出 GoodMan类的动作
}
}

[18/12/05]接口(interface)的更多相关文章

  1. php中的抽象类(abstract class)和接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  2. 《连载 | 物联网框架ServerSuperIO教程》- 12.服务接口的开发,以及与云端双向交互

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  3. Go语言学习笔记(四)结构体struct & 接口Interface & 反射

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...

  4. Go语言学习笔记(四)结构体struct & 接口Interface & 反射reflect

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...

  5. JavaSE入门学习21:Java面向对象之接口(interface)(二)

    一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.j ...

  6. go面向对象之多态即接口(interface)

    Go 语言接口 Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口. 实例 /* 定义接口 */ type interface ...

  7. typescript接口---interface

    假如我现在需要批量生产一批对象,这些对象有相同的属性,并且对应属性值的数据类型一致.该怎么去做? 在ts中,因为要检验数据类型,所以必须对每个变量进行规范,自然也提供了一种批量规范的功能.这个功能就是 ...

  8. java中的接口interface

    关于接口 接口描述了实现了它的类拥有什么功能.因为Java是强类型的,所以有些操作必须用接口去约束和标记.接口作为类的能力的证明,它表明了实现了接口的类能做什么. 类似与class,interface ...

  9. 14 接口-interface的定义与实现

    接口的基本语法一: 1.使用interface 定义 2.接口当中的方法都是抽象方法 3.接口当中的方法都是public权限 接口的定义: interface USB { public void re ...

随机推荐

  1. vue之mapMutaions的使用 && vuex中 action 用法示例 && api.js的使用

    vue之mapMutations的使用 我们通过Mutation来改变store中的state,方法往往是在子组件中使用 this.$store.commit(); 来实现,但是这样的缺点是不容易查看 ...

  2. java连接redis使用jedis带密码

    一.引入jedis的Maven配置文件 <!-- redis连接客户端jedis --> <dependency> <groupId>redis.clients&l ...

  3. 数据降维(Dimensionality reduction)

    数据降维(Dimensionality reduction) 应用范围 无监督学习 图片压缩(需要的时候在还原回来) 数据压缩 数据可视化 数据压缩(Data Compression) 将高维的数据转 ...

  4. python 对列表去重,并保持列表原来顺序

    mailto = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] addr_to = list(set(mailto)) addr_to.sor ...

  5. small zhishi

    \\192.168.1.201\d$\Data 访问远程计算机文件资源管理器

  6. Unity3D第一课之自转与公转

    1.物体公转,即围绕一个中心物体旋转 public class gongzhuan : MonoBehaviour { public GameObject Axis;//轴,用于选择围绕中心 publ ...

  7. Log4j和Slf4j的比较

    简单日记门面(simple logging Facade for java)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希 望的loging ...

  8. Socket编程指南及示例程序(转)

    1         前言 在一些常用的编程技术中,Socket网络编程可以说是最简单的一种.而且Socket编程需要的基础知识很少,适合初学者学习网络编程.目前支持网络传输的技术.语言和工具繁多,但是 ...

  9. java集合框架(二):HashTable

    HashTable作为集合框架中的一员,现在是很少使用了,一般都是在面试中会问到其与HashMap的区别.为了能在求职的时候用上场,我们有必要对其原理进行解读. HashTable的实现原理跟Hash ...

  10. ActiveMQ VirtualTopic

    参考网址: http://activemq.apache.org/virtual-destinations.html http://blog.csdn.net/kimmking/article/det ...