Ne "s'étend au-Objet" ont un but ou est-ce un pléonasme?
Suivant un tutoriel sur l'internet en ce qui concerne le Savon de développement avec Java, j'ai trouvé ce lien, avec un assez inhabituel code pour moi.
Le code:
public class SoapService extends Object {
/** Creates new SoapService */
public SoapService() {
}
/** This is the SOAP exposes method
*/
public String sayGreeting(String name)
{
return "Hello "+name;
}
}
Ce qui est avec le 'étend l'Objet de la syntaxe ? Je n'ai jamais rencontré ce genre de syntaxe (uniquement sur les médicaments Génériques).
Cette syntaxe a n'importe quel but ou est la 'plaine idiot"?
- Il y a également une dizaine d'autres réponses à cette recherche sur soi et le regard.
Vous devez vous connecter pour publier un commentaire.
À moins que la classe de l'Objet n'est pas réellement le
java.lang.Object
classe (le tutoriel ne comprend pas les importations, de sorte qu'il est difficile à voir), leextends Object
est redondant.Tous les objets en Java implicitement étendre
Object
, donc je dirais que c'est redondant.Toutes les classes d'étendre l'Objet implicitement de toute façon donc c'est juste redondant de codage ayant pas d'impact.
Ressemble un peu à du code généré - c'est un effort supplémentaire pour un générateur de code source pour omettre la "extends" clause si il n'est pas nécessaire, surtout si le générateur est basé sur un modèle.
Cela signifie simplement qu'il hérite directement de la classe de l'Objet. Ici est plus à propos de l'héritage en Java.
Pas. C'est juste explicitement de faire quelque chose qui est implicite.
C'est inutile. Toutes les classes en Java s'étend de l'Objet à un certain niveau. Laisser, sauf si vous avez besoin de clarifier quelque chose de spécifique.
S'étend clause est facultative comme indiqué dans Java Langage De Spécification. Si elle est omise, la classe est dérivée à partir de java.lang.Objet. C'est juste une question de style de codage de l'écrire ou ne pas écrire dans ce cas. Il est généralement omis.
Il est stupide de code. Toutes les classes en Java s'étend une classe d'Objet. Pas besoin de ce type explisitly
Mon vote, plaine muet - mais alors, je ne joue avec Java...
Mais toute classe hérite de la Classe Object autant que je sache...
Il est légal, mais inutile standard. Tout ce qui s'étend de l'Objet, donc la langue spec permet de vous laisser, et il ne devrait être laissé de côté (certains rédacteurs de normes de codage en désaccord).
La situation est la même dans les génériques (s'étend de l'Objet est implicite et redondants), c'est juste que pour une raison quelconque (j'ai vu certains prétendent début de buggy Génériques implémentations eu des problèmes avec l' ? générique), il a pris un peu plus de là.
Il n'y a qu'une seule possibilité, et qui est la personne qui l'a faite ne veux pas vous étendre toutes les classes. Vous pouvez toujours en faire une solution de contournement, bien sûr, mais c'est la seule chose que je peux venir avec qui fait sens.
Je pense que c'est redondant.
Dans Junit code source:
Je ne sais pas pourquoi cette classe étend de l'Objet.
Que java est un langage orienté objet, il prend en charge l'héritage qui hérite des propriétés de l'autre classe, par exemple tous les objets java hérite de java.lang.La classe d'objet.À partir de l'exemple ci-dessus, il est entendu que c'est l'explication de l'héritage. Notez que toutes les classes, qu'elles etat ou pas, sera hérite de java.lang.Objet.
Toute la classe qui n'est pas explicitement étendre une autre classe,implicitement s'étend Objet
toutes les classes s'étend java.lang.L'objet par défaut. Vous pouvez le voir
ici
Pourquoi ne pas le rendre explicite?
Je suis pour l'ajout d'en - pas tout le monde "implicitement" sait que chaque classe Java implicitement s'étend
Object
. En écrivant explicitement, c'est qu'ils n'ont pas à deviner.