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