Ответ 1
если ваши свойства static
, тогда Getters and setters
также будет static
.. все зависит от вас.
Я разрабатываю веб-приложение, потому что есть метод утилиты с именем getData()
, который я сделал его как статический.
До сих пор его штраф, но этот статический метод с именем getData()
нуждается в некоторых данных из сеттеров и геттеров.
Итак, теперь мой вопрос: можем ли мы сделать сеттер/геттеры статическими?
если ваши свойства static
, тогда Getters and setters
также будет static
.. все зависит от вас.
Getters и seters могут быть статическими, если они получают/устанавливают статические поля.
да, вы можете и этот класс независимо от того, какой объект/переменная был определен, они выглядят как
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, но для этого вам нужно создать экземпляр этого класса. Статичность использовалась без создания экземпляра класса, к которому вы можете получить доступ к своему члену.
Конечно, вы можете сделать геттеры и сеттеры статическими (с соответствующими статическими полями).
Но:. Поскольку вы имеете дело с веб-приложением (несколько параллельных запросов - несколько потоков), у вас наверняка есть проблема с потоками - это не потокобезопасно, если только вы заботитесь (например, используйте synchronized
).
Да, геттеры/сеттеры могут быть сделаны статичными в зависимости от ваших потребностей. Или, может быть, я не понял ваш вопрос!
Конечно. Геттер и сеттер - это обычные методы. Они могут быть статическими или нет.
Единственное ограничение - не использовать нестатические данные и метод в статическом методе. Поскольку статический метод и статические записи относятся к классу, а нестатический метод и поле относятся к объекту. Я думаю, что это два разных уровня.
Вы не можете ставить методы getter и setter, если вы используете какие-либо атрибуты или свойства, которые не являются статическими. Если вы используете IDE, такие как Eclipse и Netbeans, они будут предупреждать вас об этом или даже не позволяют компилировать код.