Классы, как правило, состоят из двух вещей: переменные экземпляра и методы. Переменные являются частью данных класса, в то время как методы определяет поведение класса.
Синтаксис
Метод Java return.
Java Методы с параметрами.
Перегрузка методов java.
Java Метод Рекурсия.
Java главный метод main().
Синтаксис главного метода main().
Домашнее задание.
Синтаксис.
Это общая форма метода:
1 2 3 |
имя типа (список параметров) { // Тело метода } |
тип определяет тип данных, возвращаемых методом. Если метод не возвращает значение, его тип возвращаемого значения должны быть аннулирован void . Имя метода задается именем.
Список параметров представляет собой последовательность пар типа и идентификаторов, разделенных запятыми.
Параметры принимает значение аргументов, переданных методу.
Если метод не имеет параметров, то список параметров будет пустым , как в примере ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//nookery.ru public class Calc { int a; int b; public void myCalc(){ System.out.print("Результат сложения="); System.out.println(a+b); } public static void main(String[] args) { Calc calc=new Calc(); calc.a=10; calc.b=20; calc.myCalc(); } } |
Результат работы программы будет: 30
Метод Java return.
Метод в классе может возвращать значение с обратным утверждением.
Методы, которые имеют тип возвращаемого значения return, кроме void значения, в вызове подпрограммы используется оператора возврата:
1 |
return value; |
При этом возвращается значение value.
Рассмотрим другой вариант с калькулятором в следующем примере:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
//nookery.ru public class Calc { int a; int b; public int myCalc(){ int sum = 0;//обязательная инициализавция sum=a+b; return sum; } public static void main(String[] args) { Calc calc=new Calc(); calc.a=10; calc.b=20; int resualt; resualt=calc.myCalc(); System.out.println("Результат вычисления="+resualt); } } |
В этой строке обратный оператор возвращает значение из метода myCalc(). И возвращаемое значение присваивается resualt.
1 |
resualt=calc.myCalc(); |
Фактический тип возвращаемых данных , должны быть совместимы с заявленным типом возвращаемого значения . Принимаемая переменная возвращаемого значение resualt, должен быть совместима с типом возвращаемого значения return, тип у обоих у нас int
В следующем примере метод может возвращать типы классов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//nookery.ru class DoubleNum { int num = 2; DoubleNum() { } DoubleNum numDouble() { DoubleNum vr = new DoubleNum(); vr.num = vr.num*2; return vr; } } public class Calc { public static void main(String args[]) { DoubleNum obj1 = new DoubleNum(); obj1.num =2; DoubleNum obj2; obj2 = obj1.numDouble(); System.out.println("obj1.a: " + obj1.num); System.out.println("obj2.a: " + obj2.num); obj2 = obj2.numDouble(); System.out.println("obj2 повторный дабл: " + obj2.num); } } |
Java Методы с параметрами.
Параметры позволяют методу быть более гибким в работе над множественными данными и использовать в ряде различных ситуаций.
Это общая форма метода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//nookery.ru class Realised { double x; double y; double myCalc() { return x * y; } void setNum(double w, double h) { x = w; y = h; } } public class Calc { public static void main(String args[]) { Realised xBox = new Realised(); double one; xBox.setNum(20, 30); one = xBox.myCalc(); System.out.println("Результат " + one); } } |
Перегрузка методов java.
Java позволяет определить два или более методов в том же классе, с одним и тем же именем, до тех пор, пока их объявления параметров различны.
Когда дело обстоит именно так, то методы называются совмещенными, и этот процесс называется перегрузкой метода.
Перегруженные методы имеют одинаковое имя , но разные параметры. Перегруженные методы должны различаться по типу или количеству их параметров. Перегруженные методы могут иметь разные возвращаемые типы.
Следующий пример иллюстрирует перегрузку методов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//nookery.ru class Soft { void test() { System.out.println("nookery.ru"); } void test(int a) { System.out.println("а=" + a); } void test(int a, int b) { System.out.println(a + " и " + b); } double test(double a) { System.out.println("double a=: " + a); return a * a; } } public class Test{ public static void main(String args[]) { Soft ob = new Soft(); ob.test(); ob.test(10); ob.test(10, 20); double result = ob.test(20.5); System.out.println("Double result: " + result); } } |
Результатом работы программы будет:
java-soft
а=10
10 и 20
double a=: 20.5
Double result: 420.25
Java Метод Рекурсия.
Метод рекурсия позволяет вызывать самого себя.
Следующий код является примером рекурсии. Он вычисляет факториал числа.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//nookery.ru class Factorial { int fact(int n) { int result; if (n == 1) return 1; result = fact(n - 1) * n; return result; } } public class Test { public static void main(String args[]) { Factorial f = new Factorial(); System.out.println("Факториал 6!=" + f.fact(6)); } } |
Результатом выполнения программы будет: 6!=720
Java главный метод main().
main() метод является точкой входа для автономных Java — приложений. Чтобы создать приложение, вы пишете определение класса , который включает в себя main() метод. Для запуска java приложения, достаточно ввести в консоль java и имя класса, содержащего main() метод.
Синтаксис главного метода main().
1 |
public static void main(String[] args) |
Тип возвращаемого значения должен быть void . Метод Main () должен быть публичным(public). Метод статичен(static), так что он может быть выполнен без построения экземпляра класса приложения.
После имени метода main, отображаются аргументы командной строки которые хранятся в виде массива строк, они передаются в главный метода main().
Домашнее задание:
- Создать класс Fish, в нем реализовать поля вес, породу рыб, длинна, цвет итд, тут я дам вам волю вашему воображению.
- Реализовать методы, характеризующие свойства рыб: есть, погружаться, всплывать, размножаться, прятаться, охотится.