[code]class A {
void m(){
System.out.println(“outer”);
}
}
public class TestInners {
public static void main(String[] args) {
new TestInners().go();
}
void go() {
new A().m();
class A {
void m() {
System.out.println("inner");
}
}
}
class A{
void m(){
System.out.println("middle");
}
}
}[/code]
O código acima imprime middle. Mas e se eu quisesse construir a classe A (não interna) de dentro do método go(), seria possível? Ou seja, como fazer o código acima imprimir outer sem excluir a classe A que imprime middle?
Você teria que fazer new NomeDoPacote.A()
Sem um pacote, não creio que seja possível.
Não sei se é isso que vc quer…
[code]class A {
void m(){
System.out.println(“outer”);
}
}
public class TesteInners {
public static void main(String[] args) {
new TesteInners().go();
}
void go() {
// new A().m();
class A {
void m() {
System.out.println("inner");
}
}
A a = new A();
a.m();
}
class A{
void m(){
System.out.println("middle");
}
}
}[/code]
[EDIT] - Foi mal… agora que ví… vc quer imprimir outer…
Falows 
Realmente… o Vinny tem razão…
Abs 
[quote=ViniGodoy]Você teria que fazer new NomeDoPacote.A()
Sem um pacote, não creio que seja possível.[/quote]
Obrigado, o meu medo era que fosse possível sem um pacote.
Acho que tô começando a ficar paranóico. :oops:
[quote=java.lang.JJunior][quote=ViniGodoy]Você teria que fazer new NomeDoPacote.A()
Sem um pacote, não creio que seja possível.[/quote]
Obrigado, o meu medo era que fosse possível sem um pacote.
Acho que tô começando a ficar paranóico. :oops: [/quote]
O java não foi feito para trabalhar sem pacotes. Dentro de qualquer pacote, as classes sem pacote ficam completamente inacessíveis.
[quote=Jairo Junior][code]class A {
void m(){
System.out.println(“outer”);
}
}
public class TestInners {
public static void main(String[] args) {
new TestInners().go();
}
void go() {
new A().m();
class A {
void m() {
System.out.println("inner");
}
}
}
class A{
void m(){
System.out.println("middle");
}
}
}[/code]
O código acima imprime middle. Mas e se eu quisesse construir a classe A (não interna) de dentro do método go(), seria possível? Ou seja, como fazer o código acima imprimir outer sem excluir a classe A que imprime middle?
[/quote]
[b]Olá!
Eu não entendi a ordem de chamada do método m().
Alguém me poderia explicar como funciona ?[/b]