JavaForAndroid11

一、接口
1.使用interface定义接口
2.接口当中的方法都是抽象方法
3.接口当中的方法都是public权限
基本语法:
1.实现接口使用implements关键字,实现接口必须复写接口里面的所有方法
2.一个类可以实现多个接口
3.一个接口可以继承多个接口
e.g.
//USB.java代码
interface USB{ //定义USB接口
public void read();//无论写不写public,都是public权限
public void write();
}
//WiFi.java代码
interface WiFi { //定义WiFi接口
public void open ();
public void close ();
}
//Phone.java代码
class Phone implements USB,WiFi { //Phone实现USB和WiFi接口
public void read() {
System.out.println("USB read");
}
public void write() {
System.out.println("USB write");
}
public void open () {
System.out.println("WiFi open");
}
public void close () {
System.out.println("WiFi close");
}
}
//Test.java代码
class Test {
Phone phone = new Phone();
USB usb = phone; //向上转型,父类的引用指向子类的对象
usb.read();
usb.write();
WiFi wifi = phone; //向上转型
wifi.open();
wifi.close();
/*输出
USBPhone read
USBPhone write
WiFi open
WiFi close
*/
}

interface A{
public void funA();
}
interface B {
public void funB();
}
interface C extends A,B {//C继承A和B接口
public void funC();
}
//当一个类实现接口C时,需要复写接口A、B和C里面的所有方法

二、接口的应用
为什么要使用接口?只介绍一种使用场景
eg.打印机程序设计
interface Printer {
public void open(); //开启打印机
public void close(); //关闭打印机
public void print(String s); //打印
}
class HPPrinter implement Printer { //惠普打印机
public void open() {
System.out.println("HP open");
}
public void close() {
System.out.println("HP close");
}
public void print(String s) {
System.out.println("HP print-->s");
}
}
class ConorPrinter implement Printer { //佳能打印机
public void open() {
System.out.println("Canon open");
}
public void close() {
System.out.println("Canon close");
}
public void print(String s) {
this.clean();
System.out.println("Canon print -->s");
}
private void clean() {
System.out.println("Canon clean");
}
}
class PrinterFactory() { //打印机工厂
public static Printer getPrinter (int flag) {//返回值Printer类型的对象,参数flag
if(flag == 0) {
printer = new HPPrinter();
} else if (flag == 1) {
printer = new CanonPrinter();
}
return printer;
}
}
class Test {
public static void main (String args []) {
Printer printer = PrinterFactory.getPrinter(0);
int flag = 0;
printer.open();
printer.print("test");
printer.close();
}
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 接口的使用的方法真正体现了面对对象的精髓。接口绝对是最重要的。主要内容。1.什么是接口。2.接口的基本语法。 电脑...
    CCCA阅读 808评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 标题是不是很高大上?其实翻译成人话就是,码农和厨子的日常。 这是一个对我描述的十分准确的题目,它将我的工作和生活概...
    2ad688090365阅读 351评论 0 1
  • 今天是上交作业的最后一天,而我还没写一个字,上午的最后两节课我逃到房间里写,硬撑着,边写还边想睡觉,因为早上...
    岁月静好_3334阅读 196评论 0 0