static public void doRestrictionList(HttpServletRequest request, pageBean UTIL)
Можем ли мы объявить метод как окончательный.Почему мы объявляем метод как статический
static public void doRestrictionList(HttpServletRequest request, pageBean UTIL)
Можем ли мы объявить метод как окончательный.Почему мы объявляем метод как статический
Добавление на то, что все остальные сказали , Обычный метод класса, который вы должны были бы создать объект следующим образом.
Если у вас есть класс с именем ClassExample с методом TestMethod Вы должны сделать следующее назвать
ClassExample example = new ClassExample();
example.testMethod()...
, если у вас есть статический метод, вам не придется беспокоиться о создания объекта, так что вы можете сделать что-то подобное следующему
ClassExample.testMethod()
Использование метода, объявляющего как окончательный – John
Он останавливает любой подкласс от переопределения этого метода, который может помочь в обеспечении безопасности в вашем классе. –
точно так же, как сказал христианин, но в меньших терминах он делает метод неизменным – TheJediCowboy
Static означает, что для нормальной работы класса не требуется, чтобы какая-либо из переменных экземпляра в классе функционировала должным образом. Это может обеспечить более надежный API, как вы можете назвать свой метод с помощью:
MyClass.doRestrictionsList(req, util);
Если вы не сделали его статическим, вы должны создать экземпляр класса, чтобы дать ему состояние, а затем вызвать ваш метод на том, что пример.
Мы объявляем методы статические, чтобы к ним можно было получить доступ, не имея экземпляра объекта на основе этого класса.
Используя ваш пример я мог бы назвать
SurroundingClass.doRestrictionList(...);
Без статического ключевого слова, мне нужно сделать что-то вроде этого
SurroundingClass object = new SurroundingClass();
object.doRestrictionList(...);
Статические методы могут быть использованы без создания экземпляра класса они принадлежат к.
От http://download.oracle.com/javase/tutorial/java/javaOO/classvars.html
класса Методы
язык программирования Java поддерживает статические методы, а также статические переменные. Статические методы, которые имеют статический модификатор в их декларациях, должны вызываться с именем класса, без необходимости создания экземпляра класса, как в
ClassName.methodName(args)
Статические методы используются много для утилиты/convienent встретились hods, для которых вы хотите избежать затрат на создание нового экземпляра.
Ваше название должности и вопрос не совпадают. Вы ищете сравнение статических и конечных методов? Все описали статические методы, позвольте мне описать окончательные методы для вас.
Можете ли вы иметь окончательные методы в Java? Да
Объявление метода как окончательного означает, что он не может быть переопределен ни одним из реализующих подклассов.Из http://download.oracle.com/javase/tutorial/java/IandI/final.html
Вы могли бы пожелать, чтобы сделать метод окончательным , если он имеет реализацию, не должен быть изменен, и это решающего значения для последовательного состояния объекта
Статических методы в целом имеют смысл, когда функциональность не требуется прикреплять к реальному объекту, но логика имеет смысл приложить к классу. Часто это относится к методам типа утилиты, которые зависят от небольшого числа параметров. Например, я предпочитаю это:
int sum = Arithmetic.sum(13, 42);
к этому:
Arithmetic arithmeticObject = new Arithmetic();
int sum = arithmeticObject.add(13, 42);
или это:
Arithmetic arithmeticObject = new Arithmetic(13, 42);
int sum = arithmeticObject.add();
+1 для отображения более чем последствий использования или не использования статического –
Или это, если вам нравится модный код: 'int sum = (new Arithmetic()) .add (13, 42); ' –
Можете ли вы уточнить ваш вопрос? Заголовок содержит * static *, описание содержит незавершенное предложение, относящееся к * final *. Что вы хотите узнать? –