Переходные процессы в Java

#java #syntax

#java #синтаксис

Вопрос:

Я смотрел на JOptionPane.java . В строке 387 есть

 transient protected Object  

и в строке 399 есть

 protected transient Object  

.

В чем разница между ними?

Ответ №1:

Нет. Просто плохие стандарты кодирования. В вашем коде попробуйте использовать второй.

Ответ №2:

Второй следует за преобразованием кода, первый — нет. Они эквивалентны.

Ответ №3:

Никакой разницы. Этот порядок не имеет значения.

Ответ №4:

Согласно JLS, http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.3.1

8.3.1 Модификаторы полей

 FieldModifiers:
  FieldModifier
  FieldModifiers FieldModifier

FieldModifier: one of
  Annotation public protected private
  static final transient volatile
  

Если два или более (различных) поля
в поле отображаются модификаторы
объявление, это обычно, хотя
не требуется, чтобы они появлялись в
порядок, соответствующий указанному выше
в процессе разработки для FieldModifier.

Таким образом, казалось бы, второй вариант более традиционен.

Ответ №5:

Нет, порядок этих ключевых слов не имеет значения. Смотрите эту статью о ключевом слове transient для получения дополнительной информации.