Передача объекта в метод в Java
Параметр метода может иметь тип класса. В метод попадает копия ссылки на объект - через неё доступны поля и методы переданного экземпляра:
class Post {
public String title = "";
public String text = "";
}
Создадим запись и передадим ее в метод, который печатает заголовок:
static void printTitle(Post post) {
System.out.println(post.title);
}
Post post = new Post();
post.title = "News";
post.text = "Hello";
printTitle(post);
Метод экземпляра тоже принимает объекты других классов.
Коллекция записей добавляет элемент методом add:
import java.util.ArrayList;
class PostFeed {
ArrayList<Post> posts = new ArrayList<>();
void add(Post post) {
posts.add(post);
}
void showTitles() {
for (Post post : posts) {
System.out.println(post.title);
}
}
}
Создадим ленту, добавим в нее запись и выведем заголовки:
PostFeed feed = new PostFeed();
Post news = new Post();
news.title = "News";
feed.add(news);
feed.showTitles();
Изменение полей объекта внутри метода видно снаружи - метод работает с тем же экземпляром:
public class Main {
public static void main(String[] args) {
Post post = new Post();
post.title = "Draft";
markPublished(post);
System.out.println(post.title);
}
static void markPublished(Post post) {
post.title = "News";
}
}
Сделайте метод printSalary, который принимает
Employee и выводит его зарплату.
Сделайте класс Team с методом add,
который принимает Employee и сохраняет его
в списке. Добавьте двух работников и выведите
их имена.