Привет! Можете, пожалуйста, объяснить методы? Что откуда тянется и тд. В теоретической части объяснение очень сумбурное.
Что вот в этом примере касательно метода main? Он задает тип String для текста и его аргументы?
Для чего и почему мы кодим именно в такой форме Person person = new Person(); - класс переменная = новый класс()?
public static void main(String[] args) {
Person person = new Person();
Может, есть схема шаблона функции или метода?
Заранее благодарю
Влада
3 уровень
Ребята, кто-то может доступнее объяснить методы и классы? не могу уловить общего правила написания - что откуда берется и какая для этого основа.
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Иван Федосеев
10 июня 2020, 20:57
Влада, и от меня подсказка:
В методе мэйн мы используя подсказки обьявляем перемунную персон с маленькой буквы и присваиваем через равно ссылку, новый персон. В методе персон мы обьявляем переменные нейм через стринг, вейт, эдж, мани через инт
+3
Max
28 мая 2020, 10:10
Вопрос, прямо, как крик души. Всего понемногу, затронуты довольно обширные и фундаментальные темы. По порядку.
1. Методы можно воспринимать просто, как набор инструкций, упакованных в одну команду. Например, "void помытьРуки()" внутри "{}" может содержать "подойти к умывальнику"; "включить воду"; "намочить руки". и т.д. чтобы не писать всю эту последовательность, когда нам нужно получить результат - чистые руки - мы и пишем метод, содержащий все эти инструкции "void помытьРуки()".
2. Любой метод обычно что-то делает. Результат его действий может выразиться в виде нового свойства - "чистые руки" или конкретного значения, например, можем посчитать цену чистых рук, написав метод "int ценаЧистыхРук()" в котором мы бы прежде всего зафиксировали данные водяного счётчика, вызвали бы метод "помытьРуки()", а после посмотрели бы на него ещё раз и вычислили бы разницу. Вот чтобы вернуть эту разницу в виде целочисленного числа, мы должны объявить тип метода "ценаЧистыхРук()" как int. Далее в другом месте программы, где эти методы будут доступны, мы можем сделать так int price = "ценаЧистыхРук()";
3. Аргументы. Где-то мы понимаем, что расходы на мытьё рук - это не только потраченная вода, но ещё и мыло, свет, амортизация оборудования, в конце концов. Мы можем эту сумму передать в качестве аргумента в метод "ценаЧистыхРук(int дополнительныеРасходы)", а в самом методе прибавить к расходам воды эти доп.расходы.По аргументам main() почти такая же ситуация - мы в программу передаём что-то, что нам важно для выполнения и получения нужного результата.
По остальным пунктам Evgeny Karpel подробно рассказал.
+6
Evgeny Karpel
27 мая 2020, 08:21
Влада, скажите, а за чертёж стола можно сесть и поесть? :)
Перед тем, как использовать что-то, это что-то надо создать.
Определяя класс, мы только описываем, какой он: как называется, что содержит и что делает.
А для того, чтобы использовать его, надо создать экземпляр класса - конкретный объект. Аналогично тому, что если мы хотим пообедать за столом, нам сначала по чертежу надо сделать этот стол :)
Смотрите: у нас есть например класс Cat.
Мы создаём экземпляр (объект) класса murzik:
Cat murzik = new Cat();
по сути мы создаём переменную типа Cat и присваиваем ей новый (new) объект класса Cat. А скобки там потому, что при создании экземпляра (объекта) вызывается специальная функция, которая называется конструктор - она создаёт экземпляр, заполняет переменные класса в конкретном объекте (экземпляре) значениями по умолчанию и т.п.
+7
Влада
27 мая 2020, 23:52
Благодарю за ответ! :)
+2
Михаил
27 июня 2020, 11:24
Поясните пожалуста эту фразу - создаём переменную типа Cat. В моем понимании переменные могут быть типа int, double, String... Cat - это ведь название класса
0
Evgeny Karpel
27 июня 2020, 15:07
Переменной можно присвоить объект класса, не?
+1
hidden #598481
27 июня 2020, 16:55
Класс - это просто набор правил, которым подчиняются объекты этого класса. Ссылки на объекты этого класса помещаются в переменные соответствующего типа.
В этом суть ООП, все является объектом.
На примере всеми любимых котиков. Ты описываешь класс Cat, пишешь class Cat { ... } И внутри этого класса описываешь, какими свойствами могут обладать объекты этого класса: что у них есть свои клички, усы, лапы и хвост, у каждого разные. Это будут определяющие свойства объектов. Но это не значит, что ты что-то создал, ты просто описал Котов как класс. Когда пишешь new Cat(), то уже создаёшь конкретного кота, можешь ему дать персональную кличку и все остальное. А чтобы сохранить ссылку на ту ячейку памяти компьютера, в которой создан новый объект, ты сохраняешь ссылку на него в переменную соответствующего класса: Cat cat = new Cat();
Каждый создаваемый объект (ссылка на него) может храниться только в переменной соответствующего типа.
Строки (String) это лишь частный случай переменных, бывают строки, бывают котики, но куда чаще - разные типы данных, которые не имеют ничего общего с нашим материальным миром: всякие Reader, Writer и прочие Worker
+1
Garadzienski
27 мая 2020, 06:14
Person person = new Person();
Класс имя переменной = создание нового объекта класса Person;
в метод main передаётся массив строк String[].
args - название переменной массива.
Класс включает в себя переменные класса и методы.
Методы описывают поведение объекта.(То, что объект делает)
+3
Влада
27 мая 2020, 23:52
Благодарю!
+2