Este artículo comparte dos usos clásicos de la interfaz Java para su referencia. El contenido específico es el siguiente
1. Ejemplo de carga dinámica de la interfaz polimórfica de Java
Escriba un programa general para calcular el tiempo que tarda en los vehículos que no son transportantes para ejecutar 1,000 kilómetros. Se sabe que los parámetros de cada transporte son 3 expresiones de enteros A, B y C. Hay dos herramientas existentes: automóvil y plano, donde la fórmula de cálculo de velocidad del automóvil es: A+B+C. Hay tres clases que deben escribirse: CompuTetime.java, Palne.java, Car.Java e Interface Common.java. Se requiere que si el tercer vehículo de transporte se agrega en el futuro, no es necesario modificar ningún procedimiento anterior, pero solo se requieren nuevos procedimientos de vehículos de transporte. El proceso de operación es el siguiente:
Ingrese los cuatro parámetros de CompuTETime desde la línea de comando. El primero es el tipo de vehículo, y el segundo, tercero y cuarto parámetros son los enteros A, B y C. como ejemplo:
Calcule el tiempo del plano: "Plano 20 30 40"
Calcule el tiempo del automóvil: "CAR 23 34 45"
Si el vehículo en el tercer lugar es el barco, debe escribir ship.java y la entrada de tiempo de ejecución: "Ship 22 33 44"
Consejo: Haga un uso completo del concepto de interfaces, y los objetos de interfaz actúan como parámetros.
Otra forma de instanciar un objeto: class.forname (str) .newinstance (); Por ejemplo, es necesario instanciar
Para un objeto plano, simplemente llame a class.forname ("plano"). NewInstance ().
Código:
1. CompuTtime.java, asegúrese de que la entrada sea correcta, donde no se atrapa el número de Número.
import caltime.vehicle.all.common; import java .lang.*; public class Computetime {public static void main (string args []) {system.out.println ("viajes:"+args [0]); system.out.println ("parámetro A:"+args [1]); system.println ("parámetro b: b: b: b: "+args [2]); System.out.println (" Parámetro C: "+args [3]); Double a = double.parsedubo (args [1]); doble b = doble Class.forname ("Caltime.Vehicle."+Args [0]). NewInstance (); V = D.Runtimer (a, b, c); t = 1000/v; system.out.println ("velocidad promedio:"+v+"km/h"); system.out.println ("runtime:"+t+"horas");} captura (excepción e excepción (excepción e ") {System.out.println ("clase no encontrada");}}} 2.plano.java
paquete caltime.vehicle; import caltime.vehicle.all.common; public class Plane implementa comunes {public Double Runtimer (doble a, doble b, doble c) {return (a + b + c);}} 3. Coche.java
paquete caltime.vehicle; import caltime.vehicle.all.common; public class Car implementa comunes {public Double Runtimer (doble a, doble b, doble c) {return (a*b/c);}} 4.common.java
paquete caltime.vehicle.all; interfaz pública común {doble runtimer (doble a, doble b, doble c);} Resultado de una ejecución:
C:/ java> java computetime coche 100 45 67
Transporte: coche
Parámetro A: 100
Parámetro B: 45
Parámetro C: 67
Velocidad promedio: 67.16417910447761 km/h
Tiempo de ejecución: 14.888888888888889 Horas
C:/ java> Java Computeretime Plane 130 45 67
Transporte: avión
Parámetro A: 130
Parámetro B: 45
Parámetro C: 67
Velocidad promedio: 242.0 km/h
Tiempo de ejecución: 4.132231404958677 horas
Este ejemplo demuestra el uso clásico de interfaces, y pensar en Java también ha realizado un análisis profundo sobre esto, por lo que puede verlo.
2. La interfaz se pasa como un parámetro del método.
Ejemplo:
interfaz ExtendBroadable {public void input ();} KeyBroad implementa ExtendBroadable {public void input () {System.out.println ("/n Hi, KeyBroad se ha entrado en entonces Mainbroad!/N");}} class netCardBroad implementa extendBroadable {public COVIT () {System.out.Println ("" ", NetCard implementa la red. Entrada en entonces mainbroad!/n ");}} class checkBroad {public void getMainMessage (extendBroadable ext) {ext.input ();}} public class interfacetest01 {public static void main (string [] keyBroad kb = newbroad (); netcardbroad ncb = new netcardbroad (); checkbroad; CheckBroad (); cb.getMainMessage (KB); cb.getMainMessage (NCB); }} Los parámetros del tipo de interfaz se pueden utilizar como parámetros de método. En uso real, la clase que implementa la interfaz se puede pasar al método, y el método puede ejecutarse de acuerdo con el principio de reescritura. La llamada real es el cuerpo del código de método en la clase de implementación. Esto permite implementar diferentes funciones de acuerdo con los parámetros transmitidos en.
Lo importante es que cuando necesito otro objeto en el futuro y tengo mi propio cuerpo de método, no tenemos que reescribir la clase original, solo necesitamos una nueva clase para implementar la interfaz.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.