Ali žena znati kako to program?
Čini vam se čini…
Starije gospođe u sliku koju vidimo se zove Frances E. Allen, 75 godina, radio je za 40 godina all'IBM i osvojio prestižnu Turing Award za njegov rad na "code prevodiocima."
RHO… Mislim da ste našli zasluga u radu 50 programera je podnijela svoje muško ![]()
Pozivanje metoda zaštićena od izvana ili uskraćivanju klasa Java: Uvjerite se da je nemoguće?
Ispravan odgovor "ovisi o prisutnosti ili odsutnosti nekog sigurnosti manager."
Doista, kroz odraz je zaista moguce da ide na snagu i ograničenja u Java jeziku, bez prekomjerne poteškoće, ammenochè upravo to nije sigurnost manager, samo glumac u mogućnosti stvarno za upravljanje i na kraju zaustaviti takve snage.
Ali sada nailazimo na primjer da je vrijedan više od mnogih disquisizioni. S obzirom na sljedeće klase:
net.nothing2hide.test paket; javne klase ClassWithMethodsToHack (privatni void sayHello (String name) (System.out.println ( "Dobar dan" ime "! ste pozivom na privatni metoda ");)) želimo pokazati kako jednostavno invocabile izvan privatnom metodom "sayHello", kao što sam već predviđa da teško koristiti refleksije:
net.nothing2hide.test paket; javne klase PrivateMethodInvocationTest (/ ** * Ovaj primjer pokazuje kako klasa * račun zaštićeni na drugi način klasa * * * * @ param args * / javnih statičkih void main (String [] args) (String myName = "David"; Metoda m; pokušajte (/ / Let'access privatni method / / by refleksije.Možete učiniti isto / / s zaštićena metoda m = ClassWithMethodsToHack.class.getDeclaredMethod ( "sayHello", novi Class [] () String.class); if (m! = NULL) (/ / Let's snagu u Java jezik pristup / / Provjerava na reflektirane metoda.Napomene / / da ako sigurnosti upravitelja je definirana / / ovo zaobilazno rješenje nije mogla biti dozvoljeno / / i SecurityException mogao biti uskrisi m.setAccessible (true), / / I na kraju, neka je račun je zaštićena metoda m.invoke (novi ClassWithMethodsToHack () , New Object [] (myName ));)) ulov (Exception e) (e.printStackTrace ();)))



































