Java之接口与内部类6.1.1

阅读更多

package com.aowin.define;

//接口是定义一个合约
//接口也是一种数据类型
//定义接口使用interface关键字
/*
 *   public interface 接口名称{}
 *   接口中的成员变量均为public static final的
 *   接口中的方法均为公共抽象的,public abstract,abstract修饰的方法没有方法体
 *   
 *   public interface 接口名称   extends 接口1,接口2...{}
 *   接口可以继承别的接口使用extends关键字,而且接口的继承是多继承,这一点可以弥补类是单继承的缺陷 *   
 */
//接口可以声明引用变量,但不能直接new创建对象
//类实现接口使用implements关键字,然后创建实现类的对象
//类实现接口是多实现的,implements接多个接口名称,之间用,隔开
/*
 *     class 类名  implements 接口1,接口2....{}
 *  类中要为所有接口的抽象方法提供具体实现
 *  
 *  abstract class 类名 implements 接口1,接口2...{}
 *  抽象类不必为所有的抽象方法提供具体实现
 * 
 */
//接口也可以使用多态

public interface Usbable {
    //成员
    public static final int I=100;
    double PI=3.14;                    //public static final可以省略不写
    
    //方法
    public abstract void read();
    void write();                    //public abstract可以省略不写
    

}
 

package com.aowin.define;

public class Test {
    
    public static void main(String[] args) {
        Usbable usb1;
        //usb1 = new Usbable();
        usb1 = new Keyboard("dell",50.0);        
        usb1.read();
        
        Usbable usb2 = new Mouse();
        usb2.read();
        
        Usbable[] arr = {usb1,usb2,new Mouse()};
        
    }

}
 

package com.aowin.define;

public interface Aable {
    
    void a();

}
 

package com.aowin.define;

public interface Bable {
    void b();
}
 

package com.aowin.define;

public interface Cable extends Aable,Bable{

}
 

package com.aowin.define;

public class Keyboard implements Usbable{
    
    private String brand;
    private double price;
    
    

    public Keyboard(String brand, double price) {
        super();
        this.brand = brand;
        this.price = price;
    }
    
    

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    @Override
    public void read() {
        System.out.println("读取键盘字符..."); 
        
    }

    @Override
    public void write() {
        // TODO Auto-generated method stub
        
    }

}
 

package com.aowin.define;

public class Mouse extends Object implements Usbable, Cable{

    @Override
    public void a() {
        // TODO Auto-generated method stub

    }

    @Override
    public void b() {
        // TODO Auto-generated method stub

    }

    @Override
    public void read() {
        System.out.println("读取鼠标光标位置...");
        System.out.println("PI="+PI); 

    }

    @Override
    public void write() {
        // TODO Auto-generated method stub

    }

}
 

 

 

转载于:https://my.oschina.net/Watto/blog/873530

你可能感兴趣的:(Java之接口与内部类6.1.1)