接口

什么是接口?

生活中也有很多的接口,比如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. [Python]PyCharm在创建py文件时自动添加头部注释

    在Pycharm主界面找到 File ----->> Setting ----->> Editor ----->> File and Code Templates ...

  2. spring的困惑--org.springframework.web.servlet.DispatcherServlet noHandlerFound

    出现这种情况可能是代码没有更新到Tomcat服务器上

  3. Spring mvc拦截器防御CSRF攻击

    CSRF(具体参考百度百科) CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSR ...

  4. Pikachu-Unsafe Fileupload(不安全的文件上传)

    不安全的文件上传漏洞概述 文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像.上传附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型.后缀名.大小等等 ...

  5. Java同步和异步过程中消息语言国际化处理策略

    在Java后端做消息内容的语言国际化处理时可以通过Spring中MessageSource接口的来实现,但是MessageSource接口需要用到Locale对象, 而Locale类又是根据前端传过来 ...

  6. Hadoop集群初步搭建:

    自己整理了一下Hadoop集群简易搭建的过程,感谢尚观科技贾老师的授课和指导! 基本环境要求:能联网电脑一台:装有Centos系统的VMware虚拟机:Xmanager Enterprise 5软件. ...

  7. ASP.NET Identity登录原理

    https://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-based-authentication-and-owin.html 如何实现登录 ...

  8. 错误 CS0234 命名空间“Microsoft”中不存在类型或命名空间名“Reporting”(是否缺少程序集引用?)

    VS2017 使用Microsoft Rdlc报表设计器出现以下错误: 错误 CS0234 命名空间“Microsoft”中不存在类型或命名空间名“Reporting”(是否缺少程序集引用?) 以及其 ...

  9. url编码--url中含有空格问题

    开发web服务中,发现当url中含有空格时,会报 400 error: bad request sytanx,经分析,url中含有特殊字符时,服务端可能无法识别.如+,空格,/,?,%,#,& ...

  10. ubuntu set up 2 - 双系统时间问题

    http://ubuntuhandbook.org/index.php/2016/05/time-differences-ubuntu-1604-windows-10/ For users who d ...