2010-12-16 2 views
-6

Si j'ai une classe Person qui a deux variables d'instance: name de type String et friend de type Person, comment puis-je ajouter une méthode à personne qui me permettra d'accéder au name de l'ami appartenant à une instance de Person?Questions de base Java POO sur déclaration de variable et l'accès

En outre, plus généralement en Java peut:

  • Les variables locales peuvent être déclarées privées?
  • Les paramètres formels peuvent être déclarés définitifs?
  • La déclaration d'un objet lui attribue-t-elle automatiquement de l'espace?
+2

Devoir évident. Essayez de demander votre TA. –

+3

Vous penseriez trouver SO et taper tout cela serait plus de travail que de chercher la réponse? –

Répondre

3

Question 1:
Honnêtement, c'est la question orientée objet pratique le plus fondamental là-bas. Si vous ne le comprenez pas, vous devez aller parler à quelqu'un. Vrai ou faux: les variables locales peuvent être déclarées privées.


Les variables locales ne sont jamais accessibles par un code externe; cela n'a aucun sens de les déclarer privés. Vrai ou faux: Les paramètres formels peuvent être déclarés comme définitifs.


True - cela signifie que la méthode ne peut pas réaffecter le paramètre localement.
/* Edité selon le commentaire ci-dessous */

Vrai ou faux: Déclarer un objet (par exemple, personne p;) alloue de l'espace pour cet objet
objets en java sont toutes les références. Lorsque vous déclarez un objet, il alloue une référence qui ne fait référence à rien de particulier. Lorsque vous allouez ultérieurement l'objet, il définit ensuite cette référence pour pointer vers une section de mémoire allouée dans laquelle l'objet est stocké.

+0

Merci sam, j'apprécie vraiment la réponse et je suivrai votre conseil – human

+0

-1 Vous déclarez que le mot clé 'final' signifie que la méthode ne modifiera pas le contenu de l'objet transmis. Ce n'est pas vrai. La mutabilité ou l'immutabilité d'un objet n'est pas surveillée par le compilateur ou la JVM. Le mot clé 'final' signifie simplement que la méthode ne peut pas réaffecter un objet différent à cette même référence de paramètre. Il n'y a vraiment aucune raison de le faire car le changement n'est pas reflété en dehors de la portée de la méthode, donc une meilleure pratique serait de rendre chaque paramètre final (IMO). –

+0

Désolé à ce sujet - je pensais plus sémantiquement parlant, plutôt que ce qui est imposé par la JVM. –