Я разрабатываю веб-приложение, потому что есть метод утилиты с именем getData()
, который я сделал его как статический.
До сих пор его штраф, но этот статический метод с именем getData()
нуждается в некоторых данных из сеттеров и геттеров.
Итак, теперь мой вопрос: можем ли мы сделать сеттер/геттеры статическими?
Разрешены ли статические сеттеры/геттеры?
Ответ 1
если ваши свойства static
, тогда Getters and setters
также будет static
.. все зависит от вас.
Ответ 2
Getters и seters могут быть статическими, если они получают/устанавливают статические поля.
Ответ 3
да, вы можете и этот класс независимо от того, какой объект/переменная был определен, они выглядят как
private static String abc = "";
и вы можете получить доступ к этому объекту с помощью метода get/set
public static String getString(){
return abc;
}
public static void setString(String newAbc){
abc = newAbc;
}
и вы можете использовать это следующим образом Test.getString(); or Test.setString("new string");
вы также можете определить этот метод get/set как обычные средства без определения ключевого слова static, но для этого вам нужно создать экземпляр этого класса. Статичность использовалась без создания экземпляра класса, к которому вы можете получить доступ к своему члену.
Ответ 4
Конечно, вы можете сделать геттеры и сеттеры статическими (с соответствующими статическими полями).
Но:. Поскольку вы имеете дело с веб-приложением (несколько параллельных запросов - несколько потоков), у вас наверняка есть проблема с потоками - это не потокобезопасно, если только вы заботитесь (например, используйте synchronized
).
Ответ 5
Да, геттеры/сеттеры могут быть сделаны статичными в зависимости от ваших потребностей. Или, может быть, я не понял ваш вопрос!
Ответ 6
Конечно. Геттер и сеттер - это обычные методы. Они могут быть статическими или нет.
Единственное ограничение - не использовать нестатические данные и метод в статическом методе. Поскольку статический метод и статические записи относятся к классу, а нестатический метод и поле относятся к объекту. Я думаю, что это два разных уровня.
Ответ 7
Вы не можете ставить методы getter и setter, если вы используете какие-либо атрибуты или свойства, которые не являются статическими. Если вы используете IDE, такие как Eclipse и Netbeans, они будут предупреждать вас об этом или даже не позволяют компилировать код.