2014-01-29 3 views
0

Я был серфинг в SO & я нашел синтаксис Java, как показано ниже:Что такое «.class» в Java Исходный код

String.class.getDeclaredField("value"); 

Я не мог понять, как это работает

Пример:

в System.out.println();out статическая переменная в классе System PrintWriter

Может ли кто-нибудь объяснить, что такое String.class.getDeclaredField("value");, и что он возвращает объект класса Field?

Я просто посмотрел & Я не смог найти свойство класса (поля) в классе String.

Что это на самом деле делает?

Заранее спасибо.

+1

Читайте о Java Reflection API. – Deepak

+0

Узнайте, что такое класс класса и отражение в Java – Keerthivasan

ответ

1

String.class является литералом, который представляет класс String, который имеет тип Class<String>. getDeclaredField() - это метод, определенный для класса Class.

Смотри также: What is a class literal in Java?

Литералы определены в Java Language Specification 15.8.2

+0

но я не нашел в классе String, где я должен его искать? –

+1

Это не метод или поле, это часть синтаксиса класса литерала –

+0

, где этот весь литерал определен? где я могу его найти? на сайте oracle извините, потому что я прошу из темы (рядом с ней?) –

0

Ищите Java Reflection API и Class.getDeclaredField().

+0

Спасибо за косметическую очистку, Octopus. Я всю ночь сидел, так что было немного более кратким, чем оптимальным. – keshlam

Смежные вопросы