如果准备给一个方法的参数传递一个数值,你可能希望该方法的参数的类型是double类型,这样一来就可以向该参数传递byte、int、long、float和double类型的数据。
如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。
例如:
interfaceSpeakHello{voidspeakHello();}classChineseimplementsSpeakHello{publicvoidspeakHello(){System.out.println(中国人习惯问候语:你好,吃饭了吗?);}}classEnglishimplementsSpeakHello{publicvoidspeakHello(){System.out.println(英国人习惯问候语:你好,天气不错!);}}classKindHello{publicvoidlookHello(SpeakHellohello){//接口类型参数hello.speakHello();//接口回调}}publicclassMain{publicstaticvoidmain(Stringargs[]){KindHellokindHello=newKindHello();kindHello.lookHello(newChinese());kindHello.lookHello(newEnglish());}}
运行结果如下:
中国人习惯问候语:你好,吃饭了吗?英国人习惯问候语:你好,天气不错!
注意:如果源文件再增加若干个类似Chinese和English的类,KindHello类不需要做任何修改。