Cet article partage deux usages classiques de l'interface Java pour votre référence. Le contenu spécifique est le suivant
1. Exemple de chargement dynamique de l'interface polymorphe Java
Écrivez un programme général pour calculer le temps nécessaire aux véhicules non transports pour parcourir 1 000 kilomètres. Il est connu que les paramètres de chaque transport sont 3 expressions d'entiers A, B et C. Il existe deux outils existants: la voiture et le plan, où la formule de calcul de la vitesse est: a + b + c. Il y a trois classes qui doivent être écrites: Computertime.java, palne.java, car.java et interface Common.java. Il est nécessaire que si le troisième véhicule de transport est ajouté à l'avenir, il n'est pas nécessaire de modifier les procédures précédentes, mais seules de nouvelles procédures de véhicules de transport sont nécessaires. Le processus d'opération est le suivant:
Entrez les quatre paramètres de l'ordinateur à partir de la ligne de commande. Le premier est le type du véhicule, et les deuxième, troisième et quatrième paramètres sont les entiers A, B et C. à titre d'exemple:
Calculez l'heure du plan: "plan 20 30 40"
Calculez l'heure de la voiture: "Car 23 34 45"
Si le véhicule à la troisième place est le navire, vous devez écrire Ship.java et l'entrée d'exécution: "Ship 22 33 44"
Astuce: utilisez pleinement le concept d'interfaces et les objets d'interface agissent comme des paramètres.
Une autre façon d'instancier un objet: class.forname (str) .newInstance (); par exemple, il faut instancier
Pour un objet plan, appelez simplement class.forname ("plan"). NewInstance ().
Code:
1. Computtime.java Veuillez vous assurer que l'entrée est correcte, où le nombre de xéries n'est pas capturé
Importer caltime.vehicle.all.common; Importer Java .lang. *; public class comprotetime {public static void main (String args []) {System.out.println ("Travel:" + args [0]); System.out.println ("Paramètre A:" + Args [1]); System.out.println ("Paramètre B: "+ args [2]); System.out.println (" Paramètre C: "+ Args [3]); double a = double.Parsedouble (args [1]); double b = double.parsedouble (args [2]); double c = double.parsedouble (args [3]); double v, t; try {commun d = (Commun) (Commun) Class.forname ("Caltime.veHicle." + Args [0]). NewInstance (); v = d.runtimer (a, b, c); t = 1000 / v; system.out.println ("Speed:" + V + "km / h"); {System.out.println ("classe introuvable");}}} 2.Plane.java
Package Caltime.VeHicle; Import Caltime.VeHicle.all.Common; Public Class Plan Implementation Common {public Double Runtimer (Double A, Double B, Double C) {return (A + B + C);}} 3. Car.java
Package Caltime.VeHicle; Import Caltime.VeHicle.all.Common; Public Class CAR ITILTERS COMMUN {public Double Runtimer (Double A, Double B, Double C) {return (A * B / C);}} 4.common.java
Package Caltime.VeHicle.all; interface publique Common {double runtimer (double a, double b, double c);} Résultat d'une course:
C: / java> Java Computertime Car 100 45 67
Transport: voiture
Paramètre A: 100
Paramètre B: 45
Paramètre C: 67
Vitesse moyenne: 67.16417910447761 km / h
Temps de fonctionnement: 14.88888888888889 heures
C: / java> Java Computertime Plane 130 45 67
Transport: avion
Paramètre A: 130
Paramètre B: 45
Paramètre C: 67
Vitesse moyenne: 242,0 km / h
Temps de fonctionnement: 4.132231404958677 heures
Cet exemple démontre l'utilisation classique des interfaces, et la réflexion dans Java a également fait une analyse profonde à ce sujet, vous pouvez donc le vérifier.
2. L'interface est passé comme paramètre de la méthode.
Exemple:
Interface ExtendBroadable {public void Input ();} class Keybroad implémente extendBroadable {public void Input () {System.out.println ("/ n Hi, KeyBroad a été entré dans alors mainbroad! / n");}} classe Netcardbroad implémente le biadable {Netcard Input () {System.out.out.Printp mainbroad! / n ");}} classe CheckBroad {public void getMainMessage (extendBroadable ext) {ext.input ();}} classe publique interfaceTest01 {public static void Main (String [] args) {keybroad kb = new KeyBroad (); netcardbroad ncb = new NetCardbroad (); CheckBroad Cb = NetCardBroad NCB = new NetCardBroad (); CheckBroad Cb = NetCardBroad Ncb = new NetCardBroad (); CheckBroad Cb = NetCardBroad Ncb = new NetCardbroad (); CheckBroad CB = NetCardBroad Ncb = new NetCardbroad (); CheckBroad CB = NetCardBroad Ncb = new NetCardbroad (); CheckBroad (); CB.GetMainMessage (KB); CB.GetMainMessage (NCB); }} Les paramètres du type d'interface peuvent être utilisés comme paramètres de méthode. Dans une utilisation réelle, la classe qui implémente l'interface peut être transmise à la méthode et la méthode peut être exécutée en fonction du principe de réécriture. L'appel réel est le corps de code de méthode dans la classe d'implémentation. Cela permet d'implémenter différentes fonctions en fonction des paramètres transmis.
Ce qui est important, c'est que lorsque j'ai besoin d'un autre objet à l'avenir et que j'ai mon propre corps de méthode, nous n'avons pas à réécrire la classe d'origine, nous avons juste besoin d'une nouvelle classe pour implémenter l'interface.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.