8Окт/120
[Java] Методы. Статические и нет. Вызов методов.
Итак, в предыдущей статье я написал пример реализации сортировки. Но написал я её в виде функции.
Теперь разберу как её использовать.
Из теории известно, что методы являются частью классов. Чтобы использовать метод без класса, его надо сделать статическим.
Пример с классом:
class Sort {
void gnom_sort(int[] mas) {
int p = 2;
int i = 1;
for (; i < mas.length; ) {
if (mas[i - 1] <= mas[i]) {
p++;
i = p;
} else {
int a = mas[i];
mas[i] = mas[i - 1];
mas[i - 1] = a;
i--;
if (i == 0) {
p++;
i = p;
}
}
}
}
}
public class Hello {
public static void main(String args[]) {
int mas[] = {5, 5, 9, 8, 0, -5, 9, 10};
Sort s1 = new Sort();
s1.gnom_sort(mas);
}
Пример со статической функцией:
class Sort {
static void gnom_sort(int[] mas) {
int p = 2;
int i = 1;
for (; i < mas.length; ) {
if (mas[i - 1] <= mas[i]) {
p++;
i = p;
} else {
int a = mas[i];
mas[i] = mas[i - 1];
mas[i - 1] = a;
i--;
if (i == 0) {
p++;
i = p;
}
}
}
}
}
public class Hello {
public static void main(String args[]) {
int mas[] = {5, 5, 9, 8, 0, -5, 9, 10};
Sort.gnom_sort(mas); //Не нужно создавать объект
}
Также, можно поместить функцию и внутрь основного класса и сделать её статической. Тогда можно вызывать её просто по имени:
public class Hello {
static void gnom_sort(int[] mas) {
int p = 2;
int i = 1;
for (; i < mas.length; ) {
if (mas[i - 1] <= mas[i]) {
p++;
i = p;
} else {
int a = mas[i];
mas[i] = mas[i - 1];
mas[i - 1] = a;
i--;
if (i == 0) {
p++;
i = p;
}
}
}
}
public static void main(String args[]) {
int mas[] = {5, 5, 9, 8, 0, -5, 9, 10};
gnom_sort(mas); //Просто вызываем
}
Комментарии (0)
Пинги (0)
(подписаться на новые комментарии в этой ветке)
Нет обратных ссылок на эту запись.
Leave a comment