Код: Выделить всё
public class Test{
public static void main(String[] args) {
System.out.println(Lib.FIRST + " " +
Lib.SECOND + " " +
Lib.THIRD);
}
}
public class Lib{
private Lib() { }; // Uninstantiable
public static final String FIRST = "the";
public static final String SECOND = null;
public static final String THIRD = "set";
}
{нулевой набор
Теперь предположим, что вы изменили класс библиотеки следующим образом и перекомпилировали его, но не клиентскую программу:
Код: Выделить всё
public class Lib{
private Lib() { }; // Uninstantiable
public static final String FIRST = "physics";
public static final String SECOND = "chemistry";
public static final String THIRD = "biology";
}
{набор химии
Почему изменяется значение SECOND, а не FIRST или THIRD?
Подробнее здесь: https://stackoverflow.com/questions/890 ... t-run-time
Мобильная версия