(Функции) методы в Java


Сегодня мы познакомимся с функциями в java, точнее говоря с методами. Поскольку Java является классическим ООП (объектно ориентированное программирование) языком, существуют методы, обязательно относящиеся к классу. Но не стоит переживать, методы во много схожи с функциями и процедурами.
Как было сказано ранее, все методы относятся к классам, в свою очередь класс должен носить имя файла в который он помещен:
Main.java
class Main{

}

Теперь давайте создадим наш первый метод, который при вызове будет печать фразу текст, к примеру "I love EduNow.su":
class Main{

  public void CallMe(){
    System.out.println("I love EduNow.su"); 
   }
}




Теперь давайте подробней разберем, что делает эта программа:
 * public void CallMe()
   * public - тип доступа (метод может вызываться из другого класса). Существуют и другие типы доступа, к примеру private (метод доступен только внутри класса) и protected (о нем мы будем говорить позже).
   * void - тип возвращаемых данных. Поскольку наша функция ни чего не возвращает через return, то мы должны сообщить об этом системе. (Тип доступа может быть любым форматом возвращаемых данных, к примеру: int, boolean и даже String)
   * CallMe() - название функции, должно быть уникально для класса.
* System.out.println("I love EduNow.su");
  * System - класс, к которому мы будем обращаться (он подключен по умолчанию, другие же классы подключаются с помощью ключевого слова "import")
  * System.out - мы обращаемся к выводу данных. (Вы наверно уже догадались, что есть и System.in, но о нем пойдет речь в других наших статьях)
  * System.out.println - вызываем метод, который выведет на новой строке желаемую строку (String)
Код можно было реорганизовать следующим образом:
class Main{

 public void CallMe(){
  String text = "I love EduNow.su";
  System.out.println(text);
  }
}

  * println("I love EduNow.su") - прошу обратить внимание на кавычки, если вы работаете со строкой (На самом деле String это класс, вбирающий в себя свойства char (символ)) вы обязаны пользоваться двойными кавычками ("). Если вы работаете с символом (char) вы обязаны использовать одинарные кавычки (').

Как вы уже наверно заметили, наша программа ничего не выводит. В Java вывод доступен только из главного класса, так давайте же сделаем его и посмотрим, что получилось!

Типы доступа


Существует три типа доступа:
  * public - доступ к методу из любого другого класса
  * private - доступ к методу только внутри класса
  * protected - доступ к методу только внутри packeg'а.

Организуем вывод

Для этого добавим строчку с классом, приведенным ниже:

public static void main(String args[]){
Main L = new Main();
L.CallMe();
}
Что мы сделали:
 1) Создали "главный" класс
 2) В нем мы создали объект (дубликат) класса и вызвали нашу функцию


Итог

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

Сделай сам

Если у вас остались силы и желание сделать что - либо самому, то попытайтесь выполнить задачу:
Задача.
Создайте новый класс (.java) с названием Fibonacci, в нем создайте дополнительный метод, который бы рассчитывал в цикле все числа Фибоначчи от 1 до A (это будет входящий параметр) и выводит их в строку (print).
Подсказка
Входящие параметры в методе обозначаются так: pubic int methodName (int a,int b,int c)

А теперь о функциях

Как известно, в Java нету функций, там есть только классы, методы и объекты классов. Зато в Java есть анонимные классы, то есть классы без имени, которые можно объявлять прямо в коде любого метода. Этим мы и воспользуемся. Для начала объявим такой интерфейс:

public final interface Function {
    T apply(F from);
}

Теперь в коде какого-нибудь метода мы можем объявить анонимную реализацию этого интерфейса:

public static void main() {
    // Объявляем "функцию", присваиваем ее переменной intToString.
    Function intToString = new Function() {
        @Override public String apply(Integer from) {
            return from.toString();
        }
    };

    intToString.apply(9000); // Вызываем нашу функцию. Получаем строку "9000".
}

решение было найдено на хабре

↑ Расскажите друзьям о статье


Comments system Cackle

© EduNow.su — материалы подлежат полному/частичному копированию при указании прямой ссылки на источник. (Сегодня 24.11.17)