接口

什么是接口?

生活中也有很多的接口,比如USB接口。
定义了接口就是定义了调用对象的标准。

接口基本语法

1、使用interface定义;
2、接口当中的方法都是抽象方法;因为抽象函数不能生成对象,因此接口也不能生成对象;
3、接口当中的方法都是public权限;

4、实现接口用implements关键字;

5、一个类可以实现多个接口,比如手机既可以支持USB,也支持WIFI;

6、一个接口可以继承多个接口;

实现接口用implements关键字

public class USBPhone implements USB{

}

下面还是用代码说明。

例一

定义一个USB.java接口

interface USB{
void read();
void write();
}

编写USBPhone.java文件,实现接口并对继承的对象方法进行复写:

public class USBPhone implements USB{
public void read(){
System.out.println("Reading");
}
public void write(){
System.out.println("Writing");
}
}

编写Test.java:

public class Test{
public static void main(String[] args){
USB u = new USBPhone();
u.read();
u.write();
}
}

输出结果:

D:\Java\code\练习十>java Test
Reading
Writing

例二

新建一个WIFI接口:

interface WIFI{
void open();
void close();
}

对例一中USBPhone.java进行重命名为Phone.java,实现继承多个接口并对抽象方法进行复写:

public class Phone implements USB,WIFI{
public void read(){
System.out.println("USB is Reading");
}
public void write(){
System.out.println("USB is Writing");
}
public void open(){
System.out.println("WIFI is open");
}
public void close(){
System.out.println("WIFI is close");
}
}

修改Test.java:

public class Test{
public static void main(String[] args){
USB u = new Phone();
u.read();
u.write();
WIFI w = new Phone();
w.open();
w.close();
}
}

输出结果为:

D:\Java\code\练习十>java Test
USB is Reading
USB is Writing
WIFI is open
WIFI is close

  

例三

A.java

interface A{
void funcA();
}

B.java:

interface B{
void funcB();
}

C.java,在C.java中继承A和B,而不是实现A和B的原因是接口当中的方法都是抽象方法,如果用implements就要对抽象方法进行复写。

interface C extends A,B{
void funcC();
}

java基础(十三)之接口的更多相关文章

  1. Java基础-通过POI接口处理xls

    Java基础-通过POI接口处理xls 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  2. Java基础-Collection子接口之Set接口

    Java基础-Collection子接口之Set接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学习Collection接口时,记得Collection中可以存放重复元素,也可 ...

  3. Java基础-Collection子接口之List接口

    Java基础-Collection子接口之List接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们掌握了Collection接口的使用后,再来看看Collection接口中 ...

  4. 《Java基础——抽象与接口》

    Java基础--抽象与接口       一.抽象: 规则: 关键字 abstract 修饰的类称为抽象类. 子类通过关键字extends实现继承. 关键字 abstract 修饰的方法称为抽象方法,抽 ...

  5. Java基础(十三)--深拷贝和浅拷贝

    在上篇文章:Java基础(十二)--clone()方法,我们简单介绍了clone()的使用 clone()对于基本数据类型的拷贝是完全没问题的,但是如果是引用数据类型呢? @Data @NoArgsC ...

  6. Java 基础三、接口与内部类

    1.   在Java程序语言中,接口是对类的一种描述.例如Arrays类中sort方法声明可以对对象进行排序,但前提是对象所属的类必须实现Comparable接口. public interface ...

  7. Java基础—抽象类和接口

    1.抽象类 在Java语言中使用abstrac关键字来定义抽象类和抽象方法,抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号. public abstract class Employee { ...

  8. java基础-抽象类与接口(转)

    抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类    ...

  9. Java基础——抽象类和接口

    之所以将抽象类和接口放在一起做笔记,是因为他们之间很难区分又各自独立.在学习完Java程序设计的三大特点(封装.继承.多态)之后,我最大的收获是,慢慢理解了Java语言这种面向对象程序设计的优越性,它 ...

随机推荐

  1. LNMP环境配置(2)

    php-fpm配置,Nginx配置 Nginx配置 默认虚拟主机 修改主配置文件 # vi  /usr/local/nginx/conf/nginx.conf 在最后 } 符号上面写入  includ ...

  2. Qt的qDebug()改写为cout

    经常用c++,qDebug()用的不习惯,将其改为cout,并且为了方便调试,还添加了文件名及行号. 代码如下: // __FILE__文件名,__LINE__行号,如果想看时间还可以添加__TIME ...

  3. WebGL_0002:palycanvas 配置文件路径

    playcanvas 配置文件路径https://s3-eu-west-1.amazonaws.com/apps.playcanvas.com/wmSPTNhb/config.jsonsence 地址 ...

  4. 【学习笔记】:一天搞定HTML

    PS:许多控制样式的标签在HTML5中都不推荐使用,建议使用CSS,如align,border等. 一.概念 HTML的英文全称:Hypertext Marked Language 超文本标记语言. ...

  5. webservice之Http传输错误问题

    1.背景:调用第三方webservice服务,正常调用,但是最近由于第三方更换远程调用地址,并且发布服务器(A)是通过代理的方式请求真实服务器地址(B),于是本以为很简单的将客户端调用地址修改为发布地 ...

  6. MySQL 8 服务器日志

    错误日志: 启动.运行.停止 mysqld(MySQL Server) 遇到的问题 通用查询日志: 建立客户端连接和从客户端接收的语句 二进制日志: 更改数据的语句(也用于复制) 中继日志: 从复制m ...

  7. JS基础-语法+流程控制语句+函数+内置对象【数组】

    JS语法: Javascript基本数据类型:undefined/null/Boolean/number/string 复杂数据类型:object typeof用来检测变量的数据类型 typeof的使 ...

  8. [转]Maven的pom.xml文件详解

    Maven的pom.xml文件详解------Build Settings 2013年10月30日 13:04:01 阅读数:44678 根据POM 4.0.0 XSD,build元素概念性的划分为两 ...

  9. 权限问题 <customErrors> 标记的“mode”属性设置为“Off”

    引用 权限问题 <customErrors> 标记的“mode”属性设置为“Off”. 权限问题标记的“mode”属性设置为“Off”.说明: 服务器上出现应用程序错误.此应用程序的当前自 ...

  10. LeetCode 112. 路径总和 (递归遍历二叉树)

    题目链接:https://leetcode-cn.com/problems/path-sum/ 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 ...