Константа это переменная чье значение не может измениться после того, как оно было назначено. Джава не имеет встроенной поддержки констант, но модификаторов переменных статический и окончательный может быть использован для эффективного создания.
Константы могут сделать вашу программу более легкой для чтения и понимания другими. Кроме того, константа кэшируется как JVM, так и вашим приложением, поэтому использование константы может повысить производительность.
Статический Модификатор
Это позволяет использовать переменную без предварительного создания экземпляра учебный класс; член статического класса связан с самим классом, а не с объектом. Все экземпляры класса совместно используют одну и ту же копию переменной.
Это означает, что другое приложение или main () могут легко использовать его.
Например, класс myClass содержит статическую переменную days_in_week:
открытый класс myClass {
static int days_in_week = 7;
}
Потому что эта переменная статический, он может быть использован в другом месте без явного создания объекта myClass:
открытый класс myOtherClass {
static void main (String [] args) {
System.out.println (myClass.days_in_week);
}
}
Финальный Модификатор
Последний модификатор означает, что значение переменной не может измениться. Как только значение назначено, оно не может быть переназначено.
Примитивные типы данных (то есть int, short, long, byte, char, float, double, boolean) могут быть сделаны неизменяемыми / неизменяемыми с помощью модификатора final.
Вместе эти модификаторы создают постоянную переменную.
static final int DAYS_IN_WEEK = 7;
Обратите внимание, что мы объявили DAYS_IN_WEEK во всех заглавных, как только мы добавили окончательный модификатор. Среди программистов на Java существует давняя практика определять постоянные переменные во всех заглавных буквах, а также разделять слова подчеркиванием.
Java не требует этого форматирования, но это облегчает любому, кто читает код, сразу определить постоянную.
Потенциальные проблемы с постоянными переменными
То, как работает ключевое слово final в Java, заключается в том, что указатель переменной на значение не может измениться. Давайте повторим это: это указатель, который не может изменить местоположение, на которое он указывает.
Нет гарантии, что объект, на который ссылаются, останется прежним, только переменная всегда будет содержать ссылку на один и тот же объект. Если указанный объект является изменяемым (то есть имеет поля, которые могут быть изменены), тогда константная переменная может содержать значение, отличное от того, которое было изначально присвоено.