JAVA | 11

来源:互联网 发布:军绿色外套 淘宝 编辑:程序博客网 时间:2024/06/16 14:06

接口

JAVA 中接口的主要作用是解决单继承局限问题。

接口由全局常量和抽象方法组成。

package com.company;interface A{    public abstract void funA();}interface B{    public abstract void funB();}interface C extends A,B{    public abstract void funC();}class D implements C{    public void funA(){        System.out.println("A");    }    public void funB(){        System.out.println("B");    }    public void funC(){        System.out.println("C");    }}    public class Main {    public static void main(String[] args) {        C c = new D();        c.funA();        c.funB();        c.funC();    }}

package com.company;interface USB{    void start();    void stop();}class Computer{    public void plugin(USB usb){        usb.start();        usb.stop();    }}class UDisk implements USB{    public void start() {        System.out.println("U Disk begin working");    }    public void stop() {        System.out.println("U Disk stop working");    }}class Printer implements USB{    public void start() {        System.out.println("Printer begin working");    }    public void stop() {        System.out.println("Printer stop working");    }}public class Main {    public static void main(String[] args) {        Computer computer = new Computer();        USB uDisk = new UDisk();        USB printer = new Printer();        computer.plugin(uDisk);        computer.plugin(printer);    }}

package com.company;interface Fruit{    void eat();}class Apple implements Fruit{    public void eat(){        System.out.println("eat apple");    }}class Orange implements Fruit{    public void eat(){        System.out.println("eat orange");    }}class Factory{    public static Fruit getInstance(String className){        if("apple".equals(className)){            return new Apple();        }        else if("orange".equals(className)){            return new Orange();        }        else {            return null;        }    }}public class Main {    public static void main(String[] args) {        Fruit fruit = Factory.getInstance("apple");        fruit.eat();    }}

package com.company;interface Subject{    void make();}class RealSubject implements Subject{    public void make(){        System.out.println("making");    }}class ProxySubject implements Subject{    private Subject subject;    public ProxySubject(Subject subject){        this.subject = subject;    }    public void make(){        this.prepare();        this.subject.make();        this.destroy();    }    public void prepare(){        System.out.println("preparing");    }    public void destroy(){        System.out.println("destroying");    }}public class Main {    public static void main(String[] args) {        Subject subject = new ProxySubject(new RealSubject());        subject.make();    }}
原创粉丝点击