Si va a pasar un valor numérico a un parámetro de método, es posible que desee que el parámetro de método sea de tipo doble, de modo que pueda pasar datos byte, int, long, float y double al parámetro.
Si el parámetro de un método es un tipo de interfaz , podemos pasar una referencia a la instancia de cualquier clase que implemente la interfaz al parámetro de interfaz, y luego el parámetro de interfaz puede devolver la llamada al método de interfaz implementado por la clase.
Por ejemplo:
interfaceSpeakHello{voidspeakHello();}classChineseimplementsSpeakHello{publicvoidspeakHello(){System.out.println(Los chinos están acostumbrados a los saludos: Hola, ¿has comido?);}}classEnglishimplementsSpeakHello{publicvoidspeakHello(){System.out.println(Costumbre británica saludo: ¡Hola, hace buen tiempo!);}} classKindHello{publicvoidlookHello(SpeakHellohello){//Parámetro de tipo de interfaz hello.speakHello();//Devolución de llamada de interfaz}} publicclassMain{publicstaticvoidmain(Stringargs[]){KindHellokindHello=newKindHello ( );kindHello.lookHello(newChinese());kindHello.lookHello(newEnglish());}}
Los resultados de ejecución son los siguientes:
Los chinos están acostumbrados a los saludos: Hola, ¿has comido? Los británicos están acostumbrados a los saludos: ¡Hola, hace buen tiempo!
Nota: Si se agregan varias clases más, como chino e inglés, al archivo fuente, no es necesario modificar la clase KindHello de ninguna manera.