<java笔记>---接口

来源:互联网 发布:帕罗奥图的重要数据 编辑:程序博客网 时间:2024/06/05 17:17
<接口是一种特殊的抽象类。


接口里面的方法都是public abstract 类型的。


接口里面的属性都是public static final类型的(必须初始化)。


接口可以实现,也可以继承。


接口可以支持多重继承。


一个类可以实现多个接口,一个接口也可以被多个类实现.


接口描述了事物的功能,即xxx has a xxx.

exam:


手机有智能手机和以前的老年手机,都有打电话和发短信的功能.


而智能手机可以拍照,上网,玩游戏。


则可以将手机设计为抽象类,智能手机和普通手机设计为其子类,


将拍照,玩游戏,上网的功能设计为接口。

//手机抽象类

public abstract class Mobile {

    public abstract void phone();
    public abstract void send(String msg);
    
}

//上网功能的接口
public interface Internet {

    public void internet(); //上网
}

//玩游戏功能的接口
public interface Game {

    public void playGame();
}

//拍照功能的接口
public interface Camera {
    
    public abstract void camera();
}

//智能手机类

public class SmartMobile extends Mobile implements Internet,Camera,Game{

    private String brand; //品牌
    
    public SmartMobile(String brand)
    {
        this.brand = brand;
    }
    
    @Override
    public void playGame() {
        // TODO Auto-generated method stub
        System.out.println(this.brand+"牌手机正在玩游戏...");
    }

    @Override
    public void camera() {
        // TODO Auto-generated method stub
        System.out.println(this.brand+"牌手机正在拍照...");
    }

    @Override
    public void internet() {
        // TODO Auto-generated method stub
        System.out.println(this.brand+"牌手机正在上网...");
    }

    @Override
    public void phone() {
        // TODO Auto-generated method stub
        System.out.println(this.brand+"牌手机正在通话...");
    }

    @Override
    public void send(String msg) {
        // TODO Auto-generated method stub
        System.out.println(this.brand+"牌手机正在发短信:"+msg);
    }

}


//测试类

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SmartMobile m = new SmartMobile("iPhone6");
        m.send("吃了吗?");
        m.playGame();
    }

}


运行结果:



                                                                                                                      ------来自一个热爱学习的新手

原创粉丝点击