Java思维---接口思想(Interface)

171 阅读1分钟

一、概念定义:

Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

接口中所有方法都是抽象的 用interface说明接口类 用implements实现接口

二、硬件接口思想:

public interface Pci{ 
    public void start();
    public void stop();	
}
public class Netcard implements Pci{
    public void start()
    {
        System.out.println("send....");
        System.out.println("net card is running");
    }
    public void stop(){
        System.out.println("net card stop");
    }
}
public class Mainboard{
    public void usePci(Pci p){
        p.start();
    }
    public void stopPci(Pci p){
        p.stop();
    }
public class Worker{
    public static void main(String[] args){
        Netcard nc=new Netcard();
        Mainboard mbd=new Mainboard();
        System.out.println("users turn on computer");
        mbd.usePci(nc);
        System.out.println("users turn off computer");
        mbd.stopPci(nc);
    }
}

三、图形接口实例:

题目要求——定义一个图形接口,里面定义求周长和面积两个方法,定以圆,三角形,矩型三个类,实现该接口。三角形定义底和高两个属性,圆定义半径属性,矩形定义长和宽两个属性,属性为private,并自动生成set和get方法,三个类分别实现接口中求周长和面积方法。用三个类定义三个对象,为三个对象属性赋值,分别调用求周长和面积方法。并输出面积。

public class Graph {
    public void perimeterInterface(Interface p) {
        p.perimeter();
    }

    public void areaInterface(Interface p) {
        p.area();
    }
}
public interface Interface {
    public void perimeter();

    public void area();
}
public class Rectangle implements Interface {

    private double bottom;
    private double hight;

    public void area() {
        double area = (1.0 / 2.0) * bottom * hight;
        System.out.println(area);
    }

    public void perimeter() {
        double perimeter = 1;
        System.out.println(perimeter);
    }

    public double getBottom() {
        return bottom;
    }

    public void setBottom(double bottom) {
        this.bottom = bottom;
    }

    public double getHight() {
        return hight;
    }

    public void setHight(double hight) {
        this.hight = hight;
    }

}
public class Roundness implements Interface {

    private double radius;

    public void area() {
        double area = 3.14 * radius * radius;
        System.out.println(area);
    }

    public void perimeter() {
        double perimeter = 3.14 * 2 * radius;
        System.out.println(perimeter);
    }
    
    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }

}