Методы в языке Java.. - Amau777/-Java GitHub Wiki
1.Функция в программировании.
Функция в программировании— фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. В большинстве случаев с функцией связывается идентификатор, но многие языки допускают и безымянные функции. С именем функции неразрывно связан адрес первой инструкции (оператора), входящей в функцию, которой передаётся управление при обращении к функции. После выполнения функции управление возвращается обратно в адрес возврата — точку программы, где данная функция была вызвана.Оно имеет следующий вид в функции Java:
public void name(String text) {
System.out.println(text)
}
Чем отличаются функции от методов. Программировании функция всегда имеет один или несколько аргументов и при исполнении возвращает значение. Метод описывает то или иное событие, которое может произойти с объектом. Методы используются в объектно-ориентированном программировании. Методы в Java — это законченная последовательность действий (инструкций), направленных на решение отдельной задачи. Методы нужны для упрощения взаимодействия с другими частями программы. Они определяются всегда внутри классов.
- Статические методы. Void, return
public class Main {
public static void main(String[] args) {
}
}
public — тип доступа (метод может вызываться из другого класса). Существуют и другие типы доступа, к примеру private (метод доступен только внутри класса). static означает что метод статический, он принадлежит классу Main, а не конкретному экземпляру класса Main. void значит, что этот метод не возвращает значение. Методы могут возвращать значение в Java и оно должно быть определено при объявлении метода. Однако, вы можете использовать return просто для выхода из метода. Этот метод получил аргумент String[] args ,Это аргументы типа String, которые ваше приложение Java принимает при запуске. Если тип возвращаемого значения не void, в теле метода должен быть хотя бы один оператор. return выражение; где тип выражения должен совпадать с типом возвращаемого значения. Этот оператор возвращает результат вычисления выражения в точку вызова метода. Если тип возвращаемого значения – void, возврат из метода выполняется либо после выполнения последнего оператора тела метода, либо в результате выполнения оператора return; (таких операторов в теле метода может быть несколько). Пример объявления метода, возвращающего значение типа int – сумму двух своих параметров типа int:
int sum(int a, int b){
int x;
x = a + b;
return x; }
Тип задаваемого параметра в Java должен строго соответствовать типу параметра в объявлении метода, поэтому вызов метода sum(1.5, 8) приведет к ошибке при компиляции программы.
- Не статические методы Не статические методы в Java используются чаще, чем статические методы. Эти методы могут принадлежать любому объекту, экземпляру класса, а не всему классу. Не статические методы могут получать доступ и изменять поля объекта.
public class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} }
- Перегруженные методы
В языке Java в пределах одного класса можно определить два или более методов, которые совместно используют одно и то же имя, но имеют разное количество параметров. Когда это имеет место, методы называют перегруженными, а о процессе говорят как о перегрузке метода (method overloading). Когда метод вызывается, то по количеству параметров и/или их типам среда выполнения Java определяет, какую именно версию перегруженного метода надо вызывать (тип возвращаемого значения во внимание не принимается, хотя, в принципе, он тоже может отличаться у разных версий перегруженных методов). Например, метод
double sum(double a, double b) {
double x;
x = a + b;
return x; }
вместе с объявленным ранее методом int sum(int a, int b) составляют пару перегруженных методов и при вызове sum(5, 8) будет вызван первый метод, а при вызове sum(5.0, 8.0) будет вызван второй метод.
2.Модификаторы доступа.
Модификаторы доступа — ключевые слова, задающие определённую объявленную доступность члена или типа. В языках программирования поддерживающих объектно-ориентированную парадигму имеются так называемые «Модификаторы доступа», которые реализуют многоуровневую инкапсуляцию (скрытие данных). Модификаторы доступа определяют область видимости каждого конкретного элемента класса. «Базовых» модификаторов доступа всего 3, но есть исключения как например в Java.
1.Список модификаторов доступа
В большинстве популярных языков программирования реализующих парадигму объектно-ориентированного подхода программирования имеется 3-4 модификатора доступа. 1.Модификатор package visible 2.Модификатор public 3.Модификатор private 4.Модификатор protected
1.Модификатор package visible
Дальше у нас по списку идет модификатор default или, как его еще называют, package visible. Он не обозначается ключевым словом, поскольку установлен в Java по умолчанию для всех полей и методов. Если написать в твоем коде — int x = 10 … у переменной x будет этот самый package visible доступ. Случаи его применения ограничены, как и у модификатора protected. Чаще всего default-доступ используется в пакете, где есть какие-то классы-утилиты, не реализующие функциональность всех остальных классов в этом пакете. Приведем пример. Представь, что у нас есть пакет «services». Внутри него лежат различные классы, которые работают с базой данных. Например, есть класс UserService, считывающий данные пользователей из БД, класс CarService, считывающий из этой же БД данные об автомобилях, и другие классы, каждый из которых работает со своим типом объектов и читает данные о них из базы.
package services;
public class UserService {
}
package services;
public class CarService {
}
2.Модификатор public
Члены, методы и классы, которые объявлены как public, могут быть доступны из любого места. Этот модификатор не накладывает никаких ограничений на доступ. Например:
public class Main {
public static void main(String[] args) {
}
}
3.Модификатор private
Private — наиболее строгий модификатор доступа. Он ограничивает видимость данных и методов пределами одного класса.
4.Модификатор protected
Элемент данных и метод protected доступны только классам одного и того же пакета и подклассам, присутствующим в любом пакете. Также можно сказать, что модификатор защищенного доступа похож на модификатор доступа по умолчанию, за одним исключением, что он имеет видимость в подклассах.
package top_secret;
public abstract class AbstractSecretAgent {
public static int agentCount = 0;
}
4.Вызов Метода.
Если мы посмотрим в программу:
public class Main {
public static void main(String[] args) {
}
}
Мы можем вызвать этот метод из другого класса так: Main.main(String[] args).
5.Аргументы методов.
Аргументы методов — это параметры, которые передаются в метод и с которыми метод выполняет определенные действия или из-за которых метод изменяет свое поведение. Аргументы бывают предопределенными (необязательными), действие по умолчанию, если аргумент не получен и не предопределенными. Предопределенные аргументы используются тогда, когда, например значение аргумента в большинстве случаев одинаково, однако, пользователю метода может понадобится его изменить.
6.Комментарии в языке Java.
Комментарии — пояснения к исходному тексту программы, находящиеся непосредственно внутри комментируемого кода. Синтаксис комментариев определяется языком программирования. С точки зрения компилятора или интерпретатора, комментарии — часть текста программы, не влияющая на её семантику. Комментарии не оказывают никакого влияния на результат компиляции программы или её интерпретацию.
Есть два комментарии кода: _1._Строчные (т.е. описываются в одну строку)
// Строчный комментарий
System.out.println("Hello, World!");
_2._Блочные (т.е. описываются целым блоком, т.к. не помещаются в одну строку)
/*
- Блочный комментарий
*/
System.out.println("Hello");