статическое ключевое слово java - PullRequest
1 голос
/ 25 октября 2011

Я знаю определение static, которое является ключевым словом для ссылки на переменную или метод самого класса.Может ли это означать, что если я напишу метод с именем parseInt() в классе с именем calculator и другой метод с именем parseInt() в другом классе с именем mathProgram, компилятор Eclipse будет знать, к какому классу относится метод parseInt()

Ответы [ 3 ]

3 голосов
/ 25 октября 2011

Вы должны вызывать статические методы, ссылаясь на класс, частью которого он является:

MathProgram.parseInt();

Не совпадает с

Calculator.parseInt();

Таким образом, написанное таким образом, JVM ясно, какой метод вы использовали.

Редактировать: Вы также можете вызывать статические методы, используя переменную экземпляра, но это неверное состояние, и его следует избегать. См. этот SO ответ для получения дополнительной информации.

Edit2: Вот ссылка на раздел Java Codding Conventions , касающийся использования вызова статических методов из переменных экземпляра. (Спасибо Ray Toal за ссылку, оставленную в ответе на вопрос, размещенный здесь )

2 голосов
/ 25 октября 2011

Да, потому что статические методы и переменные должны быть в классе, и для вызова их вне этого класса их необходимо квалифицировать.

Например Calculator.parseInt() и OtherClass.parseInt().

Eclipse использует это, чтобы отличать их друг от друга.

1 голос
/ 25 октября 2011

Если mmethod является статическим, вам нужно вызвать его, используя имя класса

Calculator.parseInt();

В противном случае, с экземпляром

Calculator c = new Calculator();
c.parseInt();

В любом случае, его явно, что вы хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...