Instancier intérieur de la classe de l'objet à partir de l'actuel extérieur de la classe de l'objet
Je me demande si ce qui suit est valable en Java:
class OuterClass {
OuterClass(param1, param2) {
...some initialization code...
}
void do {
//Here is where the doubt lays
OuterClass.InnerClass ic = this.new InnerClass();
}
class InnerClass {
}
}
Fondamentalement, ce que je suis en train de faire ici, c'est d'instancier un à l'intérieur de la classe de l'objet de l'instance actuelle de l'extérieur de la classe, pas une nouvelle instance, l'actuel. Je crois que c'est pratique, c'est quand le constructeur de l'extérieur de la classe n'est pas vide (paramètres) et nous ne savons pas ce passage pour eux (ils ne peuvent pas être null car certains peuvent être affectées à une variable de classe est accessible par l'intérieur de la classe object).
Laissez-moi savoir si je l'ai expliqué moi-même.
Merci d'avance!
Je ne comprends pas ... est-ce que vous essayez d'initialiser une instance de
eh bien, oui... à chaque fois que l'extérieur de la classe est instanciée intérieure d'un objet de classe est instanciée trop, mais j'ai besoin d'instancier intérieur de la classe d'objet de l'objet de l'extérieur, pas de une nouvelle.
Chaque interne de la classe, à moins que défini
InnerClass
pour chaque instance de OuterClass
? pourquoi ne pouvez-vous pas faire dans le c'tor, ou à l'aide d'un getInnerClass()
méthode?eh bien, oui... à chaque fois que l'extérieur de la classe est instanciée intérieure d'un objet de classe est instanciée trop, mais j'ai besoin d'instancier intérieur de la classe d'objet de l'objet de l'extérieur, pas de une nouvelle.
Chaque interne de la classe, à moins que défini
static
, est "connecté" à l'extérieur de la classe, et ne peut pas être instancié sans elle.OriginalL'auteur romeroqj | 2011-10-22
Vous devez vous connecter pour publier un commentaire.
Sujet:
Vous n'avez pas besoin de l'explicite OuterClass identifiant, ni ce qu'ils sont implicites.
Donc c'est inutile:
Et c'est très bien, à l'intérieur d'une méthode d'instance:
Les choses se dicier mais si vous êtes la création d'un objet de InnerClass dans une méthode statique comme principal qui est maintenu à l'intérieur de OuterClass. Là, vous aurez besoin d'être plus explicite:
Cela ne fonctionne pas
Mais ce sera beau travail:
l'essayer! C'est ce que le compilateur Java -- votre propre laboratoire de programmation.
Oui, Jorge! Grâce HFOE!
Je suis totalement fasciné que cela a fonctionné (le dernier extrait). Avez-vous des ressources qui donnent un peu plus d'un aperçu de ce qui se passe? Je ne comprends toujours pas comment ce code fait à l'intérieur de la classe accessible
pouvez-vous expliquer pourquoi nous avons besoin de l'appeler.de nouveau chaque fois que nous initialiser intérieure de l'extérieur? Ma requête est que "ça". avant que la nouvelle.
OriginalL'auteur Hovercraft Full Of Eels
Chaque instance d'un intérieur de classe, à moins que la Classe est déclarée comme
static
, doit avoir un "branché" l'instance de l'extérieur de la classe, afin d'être instancié.Cela ne fonctionne pas:
Cependant, ce travail, il n'a pas besoin d'une instance de
Outer
, depuis lestatic
mot-clé est utilisé:plus d'infos: java les classes internes
OriginalL'auteur amit
Ci-dessus est un exemple pour la création Interne de la classe d'objet extérieur à l'intérieur de la classe et à l'extérieur de extérieur de la classe:
OriginalL'auteur Abhay Pore