Quelle est la différence entre “s'étend” et “met en œuvre” en java à l'égard de la performance et de la mémoire,etc
Quelle est la différence entre s'étend et implémente en java à l'égard de la performance et de la mémoire,etc.
Par exemple, les scénarios suivants,
1)
public interface PrintResult
{
public final int NO_ERROR=0;
public final int SUCCESS=1;
public final int FAILED=-1;
}
public class PrintProcess implements PrintResult
{
//Perform some operation
}
2)
public class PrintResult
{
public final int NO_ERROR=0;
public final int SUCCESS=1;
public final int FAILED=-1;
}
public class PrintProcess extends PrintResult
{
//Perform some operation
}
Pour les scénarios ci-dessus (1,2) quelle est la différence entre l'utilisation de s'étend (dérivant de la classe enfant), implémente (mise en place de l'interface). concernant les performances,la mémoire,etc. ?
la file d'attente
Désolé à tous ,Mon anglais n'est pas bon.Donc, s'il vous plaît pardonnez mes erreurs
a) Faire une référence et rapport. b) de Compiler et de décompiler et de comparer les résultats. c) je n'en attends pas de différence de performances. Où dois-je? Sur l'appel de 1 million de fois "nouveau" sur l'autre catégorie?
possible duplicate
par quelqu'un.Désolé à tous ,Mon anglais n'est pas bon.Donc, s'il vous plaît pardonnez mes erreurs
a) Faire une référence et rapport. b) de Compiler et de décompiler et de comparer les résultats. c) je n'en attends pas de différence de performances. Où dois-je? Sur l'appel de 1 million de fois "nouveau" sur l'autre catégorie?
OriginalL'auteur SIVAKUMAR.J | 2012-03-03
Vous devez vous connecter pour publier un commentaire.
Java ne permet pas de prolonger de plusieurs classes. Cela permet d'éviter certains problèmes liés à l'héritage multiple. Cependant, vous pouvez choisir d'implémenter plusieurs interfaces. C'est un énorme plus.
Certaines personnes croient également
extends
diminue la flexibilité de leur code.Cependant, je doute qu'il existe une énorme différence dans la performance, l'efficacité, etc. En fait, ils pourraient même produire le même byte-code ( même si je ne suis pas sûr ). Et vous comparez deux choses différentes, qui ont des fonctions différentes, comme son demandant si les Pommes sont plus efficaces que les Oranges.
Salut, j'ai besoin de plus d'explication avec quelques exemples real time.Ensuite, il sera utile.Parce que, dans certains de ses articles sur internet, j'ai informé que les deux ont une énorme différence quant à la performance.Parfois, dans ce lieu qui s'étend convient très bien si nous utilisons l'interface, puis il afects la performance.Merci donc de donner plus d'explication
Dans la pratique, il n'a pas vraiment d'importance si elles produisent le même bytecode. Cependant, le bytecode n'a pas vraiment d'importance, parce que l'équipe sera facilement être assez intelligent pour le coup de cette distance.
OriginalL'auteur ApprenticeHacker
une classe étend une autre classe et implémente l'interface. interface étend une autre interface.
L'Interface n'a pas tout mis en œuvre des méthodes toutes les méthodes définies sont vides donc, si la classe hérite de l'interface, il doit mettre en œuvre de méthodes. Mais si Class1 hérite de la Classe 2 alors c'est déjà certaines méthodes de travail (de Classe 2) et s'étend Class2.
OriginalL'auteur SomeAnonymousPerson