Метод без параметров java

Русские Блоги

Методы в Java (без параметров и без возвращаемого значения; без параметров и возврата; без параметров и без возврата; параметры и возврат)

1. Без параметров и без возвращаемого значения

package learn; / * Как определять методы в Java Так называемый метод - это упорядоченная комбинация кодов, используемых для решения типа проблемы, которая представляет собой функциональный модуль. При нормальных обстоятельствах синтаксис определения метода следующий: модификатор доступа тип возвращаемого значения имя метода (список параметров) среди них: 1. Модификатор доступа: объем разрешений метода, к которому разрешен доступ, который может быть открытым, защищенным, частным или даже опущенным, где открытый означает, что метод может быть вызван любым другим кодом. Использование других модификаторов будет подробно описано в следующих главах. Объясните капли 2. Тип возвращаемого значения: тип возвращаемого значения метода. Если метод не возвращает никакого значения, тип возвращаемого значения указывается как void; если метод имеет возвращаемое значение, вам необходимо указать тип возвращаемого значения и использовать оператор return в теле метода для возврата Стоимость 3. Имя метода: в названии определенного метода должен использоваться допустимый идентификатор. 4. Список параметров: список параметров, переданный методу. Может быть несколько параметров. Несколько параметров разделяются запятыми. Каждый параметр состоит из типа параметра и имени параметра, разделенных пробелами. В зависимости от того, есть ли у метода параметры и возвращаемое значение, методы можно разделить на четыре категории: Ø Без параметра и без метода возвращаемого значения Ø Нет параметра с методом возвращаемого значения Ø Методы с параметрами и без возвращаемого значения Ø Методы с параметрами и возвращаемыми значениями */ public class JavaMethod < // Определяем метод с именем print и выводим значение public void print() < System.out.println("JavaMethod"); >public static void main(String[] args) < // Вызов метода печати в основном методе JavaMethod test = new JavaMethod (); // Создаем объект, имя объекта - test // Вызывается в виде имени объекта. Имя метода () test.print(); //JavaMethod text = new JavaMethod(); test.show (); // Вызов метода show >// Операция без параметров и без возвращаемого значения public void show() < System.out.println("Imooc"); >> 

2. Нет параметра с возвращаемым значением

package learn; / * 1 Если тип возвращаемого значения метода void, возвращаемое значение нельзя использовать в методе! * 2. Возвращаемое значение метода может иметь не более одного и не может возвращать несколько значений. * 3. Тип возвращаемого значения метода должен быть совместимым. Например, если тип возвращаемого значения - int, он не может вернуть значение String. * */ public class WuCanYouZhi < public static void main(String[] args) < // Сначала создаем объект с именем scores WuCanYouZhi scores = new WuCanYouZhi(); // Вызвать метод и получить возвращаемое значение, сохранить его в переменной score int score = scores.classSum(); System.out.println ("и есть:" + оценка); >// Определяем метод без параметров и возвращаемого значения public int classSum() < int a = 2; int b = 55; int sum = a + b; return sum; >> 

3. Нет возвращаемого значения с параметрами.

package learn; // С параметрами и без возвращаемого значения /*Заметка: * 1. При вызове метода с параметрами вы должны убедиться, что количество, тип и порядок фактических параметров однозначно соответствуют формальным параметрам. * 2. При вызове метода в фактическом параметре не требуется указывать тип данных. * 3. Параметры метода могут быть базовыми типами данных, такими как int, double и т. Д., Или ссылочными типами данных, такими как String, array и т. Д. * 4. При наличии нескольких параметров метода эти параметры разделяются запятыми. * */ public class DaiCanWuFangHui < public static void main(String[] args) < // Создаем объект DaiCanWuFangHui hello = new DaiCanWuFangHui(); // Вызов метода show и передача параметров hello.show («Мукенет»); hello.calcAvg(87, 91); >// Создаем метод с параметрами public void show (String name) public void calcAvg(double score1,double score2) < double sum = score1 + score2; double avg = sum / 2; System.out.print («Средняя оценка:» + avg); >> 

4. С параметром и возвращаемым значением

package learn; // С параметрами и возвращаемым значением public class DaiCanDaiFanHui < public String show(String name) < return "Добро пожаловать" + имя + "!"; >public static void main(String[] args) < DaiCanWuFangHui hello = new DaiCanWuFangHui(); hello.show («Мукенет»); >> 

5. Небольшие упражнения с параметрами и возвращаемыми значениями.

package learn; //// Функция реализации: сортировать и выводить результаты тестов, возвращать количество оценок import java.util.Arrays; public class DcdfhPractice < public static void main(String[] args) < DcdfhPractice hello = new DcdfhPractice(); int[] scores=; // Вызвать метод, передать массив оценок и получить количество оценок int count= hello.sort(scores); System.out.println ("Всего" + счетчик + "информация о результатах!"); > // Записываем метод сортировки public int sort(int []scores) < Arrays.sort(scores); System.out.println(Arrays.toString(scores)); // Возвращает количество элементов в массиве return scores.length; >> 

Подсказки: код написан на Eclipse.

Читайте также:  Python fractions to decimals

Источник

Методы Java — как вызывать и использовать

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

В объектно-ориентированном программировании метод — это именованный блок кода, который объявляется внутри класса и может быть использован многократно. Если вы знакомы с процедурным программированием (Pascal, Basic), вспомните, что такое функция — по принципу работы у неё и метода много общего.

Хорошо написанный метод решает одну практическую задачу: находит квадратный корень из числа (как штатный метод sqrt() в Java), преобразует число в строку (метод toString()), присваивает значения полям объекта и так далее.

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

Штатные — встроенные — методы языка работают со служебными объектами. Например, метод print в Java выводит значения в консоль. Вызывают его так:

Обратите внимание на структуру: у класса System есть поле out — поток ввода/вывода. Поле — тоже объект, и у него есть метод print(), который мы вызываем.

Ещё есть метод println(), который при выводе значений автоматически переводит каретку на следующую строку. Это избавляет от необходимости ставить «\n» в месте переноса строки.

Чтобы Java-приложение могло работать, в его базовом классе обязательно нужно объявить метод main.

public static void main(String[] args) < // здесь основной код и вызовы других методов > 

Как видите, в качестве параметра main принимает массив строк, в данном случае — параметров запуска.

Объявление и определение метода в Java

Методы могут возвращать или не возвращать значения, могут вызываться с указанием параметров или без. Тип возвращаемых данных указывают при объявлении метода — перед его именем.

В примере ниже метод должен найти большее из двух целых чисел, поэтому тип возвращаемого значения — int:

public static int maxFinder(int a, int b) < //заголовок метода //ниже — тело метода int max; if (a  b) max = b; else max = a; return max; > 

В заголовке метода сначала идут модификаторы, определяющие, на каких условиях он доступен для вызова. Об этом чуть ниже. Вернёмся к заголовку: int — возвращаемый тип, maxFinder — имя метода, в скобках — параметры.

В теле метода заводим переменную max, куда потом запишем большее число. Далее сравниваем значения, фиксируем большее в max и возвращаем.

Обратите внимание, return может работать не только с одной переменной, но и с выражением. Если бы мы не сравнивали значения, а складывали, результат можно было бы вернуть без дополнительной внутренней переменной. В теле метода была бы всего одна строка:

Когда метод не должен ничего возвращать, тип возвращаемого значения указывают как void. А если методу для работы не нужны входные параметры, скобки оставляют пустыми:

static void theWarning() < System.out.println("Мне ничего не надо, и вы от меня ничего не получите."); > 

Как вызвать метод в Java

Метод с модификатором public можно вызывать из любого класса, в том числе размещенного во внешнем файле. Если нужно, чтобы метод был доступен исключительно внутри своего класса, применяют модификатор private. Есть и более мягкий вариант ограничения доступа: методы с модификатором protected доступны подклассам своего класса и другим классам из того же пакета. Чем сложнее получить доступ к методу извне, тем безопаснее — ниже риск ошибок.

Статический метод в Java принадлежит классу, а не объектам (и экземплярам) класса. Поэтому его вызывают без создания экземпляра.

Для простоты мы сделали методы публичными и статическими и разместили их в главном классе программы.

Вызывают методы двумя способами — в зависимости от того, возвращают они что-то или нет. Если да, подставляем значение, куда нам нужно:

public static void main(String args[]) < System.out.print(maxFinder(3,8)); > 

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

После вызова метод управляет программой до окончания своей работы: пока в его теле не сработает оператор возврата или прерывания, либо пока не будут выполнены все находящиеся в нём инструкции.

Вызовем theWarning, который ничего не возвращает:

public static void main(String args[]) < theWarning(); System.out.print(“theWarning завершил свою работу. Идём дальшe.”); > 

Этот метод обходится без помощников — делает, что должен, и передаёт управление последующему коду.

Вызов метода из другого класса

А если бы maxFinder находился в отдельном классе и был не статическим? Тогда для его вызова пришлось бы сначала создать объект класса, в котором он находится. Допустим, метод находится в классе SampleClass. Вызываем:

public void main(String args[]) < SampleClass sc= new SampleClass(); System.out.print(sc.maxFinder(5,8)); > 

Статический метод вызывают через точку от имени класса — вот так:

System.out.print(SomeClass.maxFinder(5,8)); 

Перегрузка методов в Java

Что, если нам нужно сравнивать не только целые числа, но и числа с плавающей точкой? Реализовать это поможет перегрузка метода. Копипастим метод maxFinder в тот же класс, заменяем типы всех задействованных значений на double:

public static double maxFinder(double a, double b) < double max; //остальную часть тела метода оставляем без изменений > 

Имя метода не меняем! Это и есть перегрузка: компилятор сам выберет, какую из версий метода использовать — в зависимости от того, значения какого типа сравниваем.

Ключевое слово this в методах Java

Ключевое слово this позволяет ссылаться на экземпляры класса: их переменные, методы и конструкторы. Используют this только внутри метода или конструктора экземпляра. Например, вот так можно связать входные параметры метода с одноименными параметрами конкретного экземпляра класса:

class UserData < int id, age, phone; void setProfileData(int id, int age, int phone) < this.id=id; this.age=age; this.phone=phone; > > 

Ещё пример — вызов одного конструктора из другого:

class ProfileData < int id; ProfileData() < this(100); > ProfileData(int id) < this.id = id; > > 

Это называется «явный вызов конструктора».

Абстрактные методы в Джаве

Абстрактным называют метод, который объявлен без реализации — он не имеет ни тела, ни даже фигурных скобок. Перед именем такого метода ставят модификатор abstract:

Зачем он такой нужен? В качестве шаблона для других методов из других классов. Вот есть у нас абстрактный класс «Строение», а в нём — абстрактный метод «возвести». Реализовывать эти абстракции нужно через несколько неабстрактных классов-наследников и их методы. Пример: класс «Хижина» — метод «стройХижину», класс «Мост» — метод «стройМост» и др.

package ru.your.classes; abstract class Construction < abstract void build_it(String msg1); abstract void sell_it(String msg2); > public class Hut extends Construction < // неабстрактный класс @Override // переопределяем метод void build_it(String msg1) < System.out.println("Хижина построена!"); > @Override void sell_it(String msg2) < System.out.println("Хижина продана."); > > public abstract class Bridge extends Construction < @Override void build_it(String msg1) < System.out.println("Мост построен!"); > // Допустим, продавать объекты класса Bridge не предполагается. // Тогда sell_it можем не переопределять. // Но обязательно создадим абстрактный дочерний метод: abstract void sell_it(String msg2); > 

Поскольку конкретной реализации у абстрактного класса нет, экземпляры его создавать нельзя. Он — шаблон, который задаёт структуру для других классов и содержит объявления методов.

Кроме этого, рекомендуем помотреть вебинар по введению в ООП на Java, где также будет рассматриваться работа с методами и конструкторами.

Источник

Оцените статью