本文主要是介绍《从C/C++到Java入门指南》- 28.接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
接口
对比抽象类
抽象类我们知道是一个类,但是里面的方法都是空的,需要由抽象类的子类继承后来实现,可以说抽象类定义了一种类型类的规范。
接口也是一样的东西,接口也是一种抽象的载体,只定义方法名,相当于是定义了一种规范,需要被别的类来实现。
区别在于,一个类可以实现很多接口,但抽象类只能被子类实现。
接口的强大之处在于把方法从类中剥离出来,更加的模块化,更加自由。
定义接口
public interface Myinterface {public void draw();
}
实现接口
实现一个接口方法,这个方法打印一句话。
public interface Myinterface {public void draw();
}class Myclass implements Myinterface {@Overridepublic void draw() {System.out.println("Drawing!");}
}public class Main {public static void main(String args[]) {Myclass my = new Myclass();my.draw();}
}
接口继承
接口之间也可以相互继承,使用extends
关键字。
public interface NewInterface extends Myinterface {public void hello();
}
这样子接口的方法体实际上会多一个。
接口的多重继承
由于接口的特殊性,接口可以进行多重继承,也就是继承多个接口。
interface FatherInterface {public void work();
}interface MotherInterface {public void make_up();
}interface childInterface extends FatherInterface, MotherInterface {public void cry();
}public class Main {public static void main(String args[]) {System.out.println("Run");}
}
接口的默认方法
interface DefaultInterface {default void run() {System.out.println("Run");}
}class A implements DefaultInterface {@Overridepublic void run() {DefaultInterface.super.run();}
}public class Main {public static void main(String args[]) {A a = new A();a.run();}
}
可以看到,这里定义了一个接口,在接口中有一个默认方法。类A
实现了该接口并且调用了接口的默认方法。
接口的静态方法
所谓接口静态方法就是static
方法。
interface DefaultInterface {static void run() {System.out.println("Run");}
}public class Main {public static void main(String args[]) {DefaultInterface.run();}
}
顾名思义,静态方法嘛,可以使用接口来直接调用。
这篇关于《从C/C++到Java入门指南》- 28.接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!