2015-12-31 4 views
3

Я начинаю с языка Java и программирования в целом.Различные способы вызова методов из другого класса

Я понимаю, что для вызова методов из другого класса, мы называем этот метод с:

ClassName.methodName(arguments); 

Например, если мы хотим, чтобы найти квадратный корень из целого числа, используя Math classs:

int x = 4; 
int root = (int)(Math.sqrt(x)); 

Однако, когда мы используем некоторые методы других классов, таких как метод Шара() в классе Струнный, мы получаем доступ, что метод, использующий что-то вроде:

String str = "Greetings!"; 
char ch = str.charAt(0); 

Это справедливо и для других методов в классе String, таких как: codePointAt() и compareTo().

Почему мы называем методы по-разному при использовании методов из определенных классов, таких как класс String? Как мы узнаем, когда вызывать подобные методы, а не наоборот?

Спасибо!

+1

прочитал о статических и экземплярах методов –

ответ

0

Методы, объявленные как статические, можно вызывать на уровне класса. I.e. Вам не нужен экземпляр этого класса для их вызова.

3

Существует два вида ow-методов.

  1. Статический
  2. Non-Static

Первый случай, вы говорите о том, Статические методы. Если вы прочтете больше, вы узнаете, что вы не можете создать экземпляр класса Static. т. е. вы не можете создавать объекты из статического класса. Итак, если в статическом классе есть метод, вам нужно получить к ним доступ, используя имя класса. Существуют также статические методы в нестатических классах.

например .: Подумайте о методе квадратного корня. Поиск квадратного корня - это та же самая процедура, независимо от того, какой номер вы хотите найти квадратный корень. Поэтому нет необходимости создавать метод квадратного корня при каждом создании объекта. Вместо этого мы можем получить к нему доступ, используя имя класса. Следовательно, эти методы иногда называются class-methods

Нестатические методы в другой руке, возможно, необходимо создавать при каждом создании объекта, поскольку они являются объектами.

например. Подумайте о методе charAt(). charAt(0) вернет char в зависимости от объекта String, на который вы его называете.

Прочитано This question и This article также полезно.

Смежные вопросы