Java add method to class

Java Class Methods

You learned from the Java Methods chapter that methods are declared within a class, and that they are used to perform certain actions:

Example

Create a method named myMethod() in Main:

myMethod() prints a text (the action), when it is called. To call a method, write the method’s name followed by two parentheses () and a semicolon;

Example

Inside main , call myMethod() :

public class Main < static void myMethod() < System.out.println("Hello World!"); >public static void main(String[] args) < myMethod(); >> // Outputs "Hello World!" 

public class MyClass <
static void myMethod(int x) <
System.out.println(x);
>

public static void main(String[] args) myMethod(10);
>
>

Static vs. Public

You will often see Java programs that have either static or public attributes and methods.

In the example above, we created a static method, which means that it can be accessed without creating an object of the class, unlike public , which can only be accessed by objects:

Example

An example to demonstrate the differences between static and public methods:

public class Main < // Static method static void myStaticMethod() < System.out.println("Static methods can be called without creating objects"); >// Public method public void myPublicMethod() < System.out.println("Public methods must be called by creating objects"); >// Main method public static void main(String[] args) < myStaticMethod(); // Call the static method // myPublicMethod(); This would compile an error Main myObj = new Main(); // Create an object of Main myObj.myPublicMethod(); // Call the public method on the object >> 

Note: You will learn more about these keywords (called modifiers) in the Java Modifiers chapter.

Access Methods With an Object

Example

Create a Car object named myCar . Call the fullThrottle() and speed() methods on the myCar object, and run the program:

// Create a Main class public class Main < // Create a fullThrottle() method public void fullThrottle() < System.out.println("The car is going as fast as it can!"); >// Create a speed() method and add a parameter public void speed(int maxSpeed) < System.out.println("Max speed is: " + maxSpeed); >// Inside main, call the methods on the myCar object public static void main(String[] args) < Main myCar = new Main(); // Create a myCar object myCar.fullThrottle(); // Call the fullThrottle() method myCar.speed(200); // Call the speed() method >> // The car is going as fast as it can! // Max speed is: 200 

Example explained

1) We created a custom Main class with the class keyword.

2) We created the fullThrottle() and speed() methods in the Main class.

3) The fullThrottle() method and the speed() method will print out some text, when they are called.

4) The speed() method accepts an int parameter called maxSpeed — we will use this in 8).

5) In order to use the Main class and its methods, we need to create an object of the Main Class.

6) Then, go to the main() method, which you know by now is a built-in Java method that runs your program (any code inside main is executed).

Читайте также:  Четные числа до 100 java

7) By using the new keyword we created an object with the name myCar .

8) Then, we call the fullThrottle() and speed() methods on the myCar object, and run the program using the name of the object ( myCar ), followed by a dot ( . ), followed by the name of the method ( fullThrottle(); and speed(200); ). Notice that we add an int parameter of 200 inside the speed() method.

Remember that..

The dot ( . ) is used to access the object’s attributes and methods.

To call a method in Java, write the method name followed by a set of parentheses (), followed by a semicolon ( ; ).

A class must have a matching filename ( Main and Main.java).

Using Multiple Classes

Like we specified in the Classes chapter, it is a good practice to create an object of a class and access it in another class.

Remember that the name of the java file should match the class name. In this example, we have created two files in the same directory:

Main.java

public class Main < public void fullThrottle() < System.out.println("The car is going as fast as it can!"); >public void speed(int maxSpeed) < System.out.println("Max speed is: " + maxSpeed); >> 

Second.java

When both files have been compiled:

Источник

Как добавить метод в класс (Java)?

public int sum (int x, int y)
Возвращает сумму чисел x и y.

вот мой пример, но не могу понять что я сделал не так

Простой 2 комментария

zolt85

Как минимум не хватает закрывающей скобки в конце класса. Надеюсь это всего лишь опечатка в вопросе. В остальном код корректен. Не понятно в чем вопрос.

public class FL < public static void main(String[] args) < System.out.println(new FL().sum(10, 15)); >public int sum(int x, int y) < return x + y; >>

a13xsus

скобка разве что, а так всё нормально.

Подскажите есть ли ресурс с подобными решениями заданий и с их дальнейшим рассмотрением?

public boolean isInsideRect(int xLeft, int yTop, int xRight, int yBottom, int x, int y)
Прямоугольник с горизонтальными и вертикальными сторонами, задан двумя точками — левой верхней (xLeft, yTop) и правой нижней (xRight, yBottom). На плоскости OXY ось X направлена вправо, ось Y — вниз. Дана еще одна точка с координатами (x, y). Гарантируется, что xLeft < xRight и yTop < yBottom. Метод должен возвращать true, если точка лежит внутри прямоугольника , иначе false. Если точка лежит на границе прямоугольника, то считается, что она лежит внутри него.

sergeygsd

public class main_class public static void main(String[] args) int sum = 0, firstNumber, secondNumber;
Scanner inputNumScanner = new Scanner(System.in);
System.out.println(«Enter First Number: «);
firstNumber = inputNumScanner.nextInt();

System.out.println(«Enter Second Number: «);
secondNumber = inputNumScanner.nextInt();

sum = firstNumber + secondNumber;

System.out.println(«The sum of the two numbers you entered answer__date»> Ответ написан более трёх лет назад

Источник

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

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

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

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

Читайте также:  Php массив удалить индексы

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

Штатные — встроенные — методы языка работают со служебными объектами. Например, метод 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, где также будет рассматриваться работа с методами и конструкторами.

Источник

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