Java--接口

接口:主要是对行为进行抽象
默认数据成员为public static final
默认的成员方法为public abstract
接口的实现 :可以实现多个接口
接口和抽象类的区别
接口可以被实现(继承–解决了Java的单继承的问题)多个
抽象类只能被继承一个
抽象类可以拥有非抽象方法 接口内都是抽象方法
接口的数据成员变量都是public static final
接口是对行为的一种抽象 抽象类本身是对类整体的抽象


interface A{
    int age = 10;
    void fun1();//不能有具体的实现
}
interface B{
    int b = 100;
    void fun2();
}
  • 接口的实现 你可以实现多个接口
class C implements A,B{

    @Override
    public void fun1() {
        System.out.println("A.fun1");

    }

    @Override
    public void fun2() {

        System.out.println("B.fun2");
    }

}
  • 接口的继承
interface Mobike{
    public void scan();
}

interface Ofo{
    public void hand();
}

abstract class Bike{
    public abstract void fun1();
}

class FlyingDove extends Bike implements Mobike,Ofo{

    @Override
    public void hand() {
        System.out.println("Ofo.hand()");
    }

    @Override
    public void scan() {
        System.out.println("Mobike.scan()");
    }

    @Override
    public void fun1() {
        System.out.println("Bike.fun1");
    }

}

interface A{
    public void fun1();
}

interface B{
    void fun2();
}
//接口和接口之间可以继承
//接口不可以实现接口
interface C extends A,B{
    public void fun3();
}

class X implements C{

    @Override
    public void fun1() {

    }

    @Override
    public void fun2() {

    }

    @Override
    public void fun3() {

    }
}
  • 小例题:普通门,可以 open close,实现一种报警门 alarm
interface Alarm{
    public void alarm();
}

abstract class Door{
    public abstract void open();
    public abstract void close();
}
class AlarmDoor extends Door implements Alarm{

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

    }

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

    }

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

    }

}

猜你喜欢

转载自blog.csdn.net/xyxy66/article/details/80447683
今日推荐