Questione : limitazioni annidate dei codici categoria

Ciao, il

I ha letto in qualche luogo che le limitazioni delle interfacce annidate/>a. annidate del are

b. i codici categoria interni non possono dichiarare che il

I dei membri (con eccezione di compilare - i campi di costante di tempo) ha fatto non capito che cosa le limitazioni ihese significa. Potete raccomandarli prego.  Tutti i collegamenti, le risorse, i suggerimenti, codice del campione altamente hanno apprezzato. Ringraziamenti in anticipo
class= del

Risposta : limitazioni annidate dei codici categoria

(A.) Significa appena che non dovete mettere l'elettricità statica davanti ad un'interfaccia interna.  Può riferirsi sempre, mentre un codice categoria interno produrrà gli errori compile-time se abbia usato la parte esterna dei codici categoria a meno che sia statico.  Vedere il primo frammento di codice allegato.

(B.) Ciò sembra essere falsa, come posso fare quanto segue senza alcuni errori:

codice categoria MyClass1 {
      codice categoria statico pubblico MyInnerClass1 {
            elettricità statica pubblica int a = 0;

            metodo vuoto statico pubblico () {
            }
      }
}

codice categoria pubblico WhiteMage {
      vuoto pubblico di elettricità statica principale (args della stringa []) {
            MyClass1.MyInnerClass1.a = 45;
            MyClass1.MyInnerClass1.method ();
      }
}
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
codice categoria MyClass1 {
	interfaccia statica pubblica MyInnerInterface1 {
	}

	interfaccia pubblica MyInnerInterface2 {
	}

	codice categoria statico pubblico MyInnerClass1 {
	}

	codice categoria pubblico MyInnerClass2 {
	}
}

errori di //no
il codice categoria MyClass2 realizza MyClass1.MyInnerInterface1, MyClass1.MyInnerInterface2 {
}

/**
 *
 * @author WhiteMage a http://www.experts-exchange.com/
 */
codice categoria pubblico WhiteMage {
	vuoto pubblico di elettricità statica principale (args della stringa []) {
		MyClass1.MyInnerInterface1 a = nuovo MyClass2 (); errore di //no
		MyClass1.MyInnerInterface2 b = nuovo MyClass2 (); errore di //no
		MyClass1.MyInnerClass1     c = nuovo MyClass1.MyInnerClass1 (); errore di //no

		//ERROR!
		MyClass1.MyInnerClass2     d = nuovo MyClass1.MyInnerClass2 ();
	}
}
Altre soluzioni  
 
programming4us programming4us