如果准备给一个方法的参数传递一个数值,你可能希望该方法的参数的类型是double类型,这样一来就可以向该参数传递byte、int、long、float和double类型的数据。
如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。
例如:
interface SpeakHello { void speakHello(); } class Chinese implements SpeakHello { public void speakHello() { System.out.println("中国人习惯问候语:你好,吃饭了吗? "); } } class English implements SpeakHello { public void speakHello() { System.out.println("英国人习惯问候语:你好,天气不错!"); } } class KindHello { public void lookHello(SpeakHello hello) { //接口类型参数 hello.speakHello(); //接口回调 } } public class Main { public static void main(String args[]) { KindHello kindHello = new KindHello(); kindHello.lookHello(new Chinese()); kindHello.lookHello(new English()); } }
运行结果如下:
中国人习惯问候语:你好,吃饭了吗? 英国人习惯问候语:你好,天气不错!
注意:如果源文件再增加若干个类似Chinese和English的类,KindHello类不需要做任何修改。
本文固定URL:https://www.dotcpp.com/course/797