Константы в Java
В любой мало-мальски сложной программе наличие констант является безальтернативной необходимостью. С помощью констант определяются наиболее часто используемые значения, которым следует дать осмысленное название. В противном случае можно получить в коде массу значений, назначение которых неизвестно или трудно определимо. В результате чего, код становиться трудно поддерживаемым. Наличие же констант, позволяет в кратчайшие сроки перенастроить программу под изменившиеся условия или даже требования.
В PHP константы определяются с помощью нескольких конструкций:
define('Constant1', 100);
// или
const Constant2 = 200;
// или в классе
class Config
{
const PROJECT_PATH = '/home/example.ru';
}
В Java определение констант несколько более мудрено. Это происходит из того, что Java - язык в полном смысле объектно- ориентированный и строго-типизированный. Поэтому определение констант не может происходить вне класса, как в PHP. Плюс, так как язык Java - строго-типизированный, константы должны иметь строго определенный тип. Вот как это все выглядит в коде:
// файл Config.java
class Config
{
// общедоступное статическое неизменяемое строковое поле
public static final String PROJECT_PATH = "/home/example.ru";
// общедоступное статическое неизменяемое строковое поле
public static final double PROJECT_COST = 125250.50;
public static final int PROJECT_VERSION = 0x010;
// метод с которого начнется выполнение программы
public static void main(String[] args)
{
System.out.println(Config.PROJECT_PATH);
System.out.println(Config.PROJECT_COST);
System.out.println(Config.PROJECT_VERSION);
}
}
Теперь посмотрим, что тут у нас в коде. В первую очередь нас интересует строка
public static final String PROJECT_PATH = "/home/example.ru";
Модификатор public означает, что поле PROJECT_PATH доступно и может вызываться внешним кодом через оператор точку следующим образом
// Config имя класса, PROJECT_PATH имя константы.
Config.PROJECT_PATH
Модификатор static по своим базовым функциям аналогичен такому же из PHP. Он обозначает принадлежность поля или метода не объекту, а классу.
И самый главный модификатор здесь - это final. Данный модификатор по сути и определяет константу в Java. С помощью данного модификатора мы говорим, что нам нужно значение, которое не может быть изменено в ходе выполнения программы. Фактически final в данном случае - это аналог const из PHP.
Вот таким образом, определяются константы в Java.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.