Czy ktoś może wyjaśnić w prosty sposób znaczenie pól syntetycznych w Javie. Przypominam, że czytałem to w kontekście niestatycznych klas wewnętrznych, gdzie każda taka instancja klasy wewnętrznej utrzymuje odniesienie do klasy otaczającej. Dlaczego takie odniesienia/pola nazywane są polami syntetycznymi?Co to są pola syntetyczne w Javie?
Odpowiedz
Pole syntetyczne jest polem utworzonym przez kompilator, które łączy lokalną klasę wewnętrzną z lokalną zmienną bloku lub parametrem typu odniesienia. Kompilator syntetyzuje określone ukryte pola i metody w celu implementacji zakresu nazw. Te pola są prywatne, o ile nie zaznaczono inaczej, lub są one co najwyżej zakresu pakietu. Możesz uzyskać więcej informacji here aw JLS
członek klasy, która nie pojawia się w kodzie źródłowym muszą być oznaczone za pomocą atrybutu syntetyczny, albo musi mieć swój ACC_SYNTHETIC flagę. Jedynymi wyjątkami od tego wymagania są generowane przez kompilator metody, które nie są uznawane za artefakty implementacji, a mianowicie metoda inicjowania instancji reprezentująca domyślny konstruktor języka programowania Java (§2.9), metoda inicjowania klasy (§2.9) i Enum. wartości() i metody Enum.valueOf() ..
"Pole syntetyczne jest polem utworzonym przez kompilator, które łączy lokalną klasę wewnętrzną z lokalną zmienną bloku lub parametrem typu odniesienia "... Nie rozumiem znaczenia tej linii. Pomocny mógłby być przykład kodu. – Geek
Możesz zajrzeć do tego [blog] (http://javapapers.com/core-java/java-synthetic-class-method-field/) dla przykładu kodu. – NINCOMPOOP
więc jeśli utworzę klonowanie poprzez odbicie nad polami, muszę je pominąć? –
- 1. Co to są "wymiary syntetyczne" w Blaze?
- 2. Co to są pojemniki w Javie
- 3. Co to są "właściwości" w Groovy?
- 4. Co to są `+:` i `-:`?
- 5. Co to są fortuny?
- 6. Co to są pojęcia?
- 7. Co to są CoreDataGeneratedAccessors?
- 8. Co to są RFC?
- 9. Co to są połączenia ZygoteInit?
- 10. Co to jest klasa równorzędna w Javie?
- 11. Co to właściwie jest w Javie?
- 12. Co to jest StampedLock w Javie?
- 13. Co to jest operator & = w Javie
- 14. Co to jest operator diamentów w Javie?
- 15. Co to jest metoda wygodna w Javie?
- 16. Co to jest strcpy w Javie?
- 17. Co to jest @Override dla w Javie?
- 18. Co to jest wątek process_reaper w Javie?
- 19. Co to jest SuppressWarnings ("odznaczone") w Javie?
- 20. Co to jest "typ SAM" w Javie?
- 21. Wyłączając syntetyczne Zajęcia w ciągu Emma STS
- 22. Co to są pliki FTL
- 23. Co to są opcje + FollowSymLinks?
- 24. Co to są sprawdzane wyjątki w języku Java/C#?
- 25. Co to są czyste zmienne?
- 26. Co to są moduły CSS3?
- 27. Co to są operatorzy zniesione?
- 28. Co to są hipotetyczne indeksy?
- 29. Co to są ograniczone szablony?
- 30. Co to są "pilne dane"?
http://stackoverflow.com/questions/5223268/what-is-theing-of-static-synthetic i http://stackoverflow.com/questions/7767804/what-is-a-synthetic-back-reference-to-an-class-class – assylias