Java - interface(接口)

2022-06-25  本文已影响0人  aven_kang
截屏2022-04-14 下午6.21.13.png
public interface interfaceTest {
    private void  show1(){
        
    };
    public abstract void show();
}

在java中,interface也算是一个抽象类,在新特性中,可以使用private修饰方法,通过private修饰的方法,可以实现方法体,除了这个之外,其他的修饰都行不通,不能带有方法体,比如抽象方法的写法public abstract void show();

接口的意义

弥补类不能多继承的不足,实现多接口

// 货币类接口
public interface Currency {

    public abstract void currencyShow();

}
// 金属类接口
public interface Metal {

    public abstract void metalShow();
}
public class Gold implements Currency,Metal {

    @Override
    public void currencyShow() {

    }

    @Override
    public void metalShow() {

    }

    public static void main(String[] args) {

        Gold gold1 = new Gold();
        gold1.currencyShow();
        gold1.metalShow();

    }
}

接口的关键字是implements,跟抽象类是不一样的,抽象类是extends

接口只能继承接口,不接受其他的

接口实现多态

public interface Hnter {

    public abstract void hunt();
}
public interface Runner {

    public abstract void run();

}
public class Man implements Hnter,Runner{

    @Override
    public void run() {
        System.out.println("正在追赶一只小白兔");
    }

    @Override
    public void hunt() {
        System.out.println("正在被一只大熊追赶");
    }

    public static void main(String[] args) {

        Runner runner = new Man();
        runner.run();

        Hnter hnter = new Man();
        hnter.hunt();

    }
}

Man继承了Hnter,与Runner这两个接口,在创建对象的时候,我们用了这两个接口来接收Man这个对象的创建

Runner runner = new Man();
Hnter hnter = new Man();

这就跟普通类有点相像了,子类对象指向父类对象,但这里用的是接口,稍微有点不同

截屏2022-04-14 下午7.03.42.png

接口跟抽象类的主要区别

上一篇下一篇

猜你喜欢

热点阅读