Ан
Андрей

Уважаемые форумчане, скажите, почему все методы класса в java должны быть static (статичными) для запуска программы?

То есть, я сначала написал пример простейшей программы и статичный у меня был только метод main().
В итоге я не смог воспользоваться в нем другим методом, описанным в этой же программе. Компилятор ругался. Дописал static( на уровне интуиции и подсказок компилятора) -- заработало.
_____
пример:

public class primer {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

cena(90);

}

public static double cena(double cen){

if (cen > 100){

cen = 0.8*cen;

System.out.println("Ваша скидка 20 % и ваше цена " + cen);

}

else{

cen = 0.9*cen;

System.out.println("Ваша скидка 10 % и ваше цена " + cen);

}

return cen;

}

}
_______
Не понял вот что:
1. почему все методы, если вызывать их в main() должны быть статичными?
2. можно ли их вызывать в другой части программы, чтобы не писать static ?
3. static -- это значит доступный везде? в любой части класса?
4. зачем в методе main в параметрах (String[] args) ? Ведь туда ничего не передается.. .
5. И еще что значит комментарий:
/**
* @param args

*/
Синтаксис комментария особенный, насколько я помню по книге. Нужен чтобы формировать git, верно?
Можно ли его удалять?

Прошу меня извинить, если допустил ошибки в формулировке вопросов.

СS
Светлана Sova Соловей

3. static означает, что для вызова данного метода не требуется экземпляр объекта.
4. Зато ОС при запуске программы туда передаёт частенько параметры. Можете в ярлыке прописать после пути к файлу через пробел что-нибудь и при запуске у вас это прийдёт в "args".

Похожие вопросы
java. вызвать метод класса из анонимного класса. как?
программа по java!! СРОЧНО
Java Android помогите с вызовом метода?
как изменить java программу?
Запуск Java программ оффлайн
c# static class и методы в нем
запуск внешней программы в Java
Уважаемые форумчане, скажите где можно хорошо порыбачить не подалеку от челябинска?
с++Запуск "private:" метода класса
Объявление метода класса через static vs через "точку".