加载中...

《Java程序设计》实验八-接口和实现


前言

记录一下做过的题目,虽然作为入门题目很简单,不过还是可以学到一些东西的hh。

程序设计一 接口:

题目:

设计一个天气预报的程序:

(1)设计一个面向接口的类,这个类中有一个可以播报天气预报的方法,天气预报方法的输入参数是一个接口参数;

(2)设计一个接口,规定不同的气象状态的播报形式;

(3)请分别播报晴天、下雨、雪天的天气状况。

天气状态接口

interface weatherstate{
    public void showState();
}

实现接口的类

class qingstate implements weatherstate{
    public void showState(){
        System.out.println("晴,空气清新");
    }
}
class yustate implements weatherstate{
    public void showState(){
        System.out.println("阴转小雨,请注意带伞");
    }
}
class xuestate implements weatherstate{
    public void showState(){
        System.out.println("多云转雪,请注意保暖");
    }
}

天气类

class weather {
    weatherstate ws;
    public void show(){
        ws.showState();
    }
    public void setstate(weatherstate ws){
        this.ws=ws;
    }
}

主函数

public class weatheryubao{
    public static void main(String[] args){
        weather wy =new weather();
        wy.setstate(new qingstate());
        System.out.print("晴天:");
        wy.show();
        wy.setstate(new yustate());
        System.out.print("雨天:");
        wy.show();
        wy.setstate(new xuestate());
        System.out.print("雪天:");
        wy.show();
    }
}

小tips:

  • 接口不是类,它是 Java 中的一个抽象类型,是抽象方法的集合。通常用 interface 来声明。一个类通过继承接口,从而继承接口的抽象方法。
  • 接口无法被实例化,但是可以被实现。和抽象类一样,实现接口的类必须实现接口中所有的抽象方法,否则声明自己为抽象类。
  • 接口不能实例化对象。没有构造方法。不能包含成员变量,除了 staticfinal 变量。
  • 注意,接口不是被类继承了,而是要被类实现。换句话说,接口的实现接口的继承。 接口的实现是通过另一个类来实现的,而接口的继承是指某个接口继承了另外一个接口。
  • 接口支持多继承,也即一个接口可以同时继承多个接口,这和类的继承不同。
  • 类使用 implements 关键字实现接口。一个类可以实现多个接口。
  • 接口其实也是为了实现多态。

文章作者: 心意
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 心意 !
评论
  目录