Я новичок в Java, и я выполняю задание для школы, но я застрял в самых основополагающих принципах.Передача значения локальной переменной в поле
Мой первый класс выглядит следующим образом:
public class Publisher {
private String name;
private String state;
public Publisher(){}
public Publisher(String name, String state) {
super();
this.name = name;
this.state = state;
}
public String getName() {
return name;
}
public String getState() {
return state;
}
}
В первом классе у меня было два поля, значения которых были изменены с помощью конструкторов, и могут быть доступны только с помощью методов получения. У меня также был другой конструктор, который я использовал для создания объекта в следующем классе.
Вот мой другой класс:
public class Book {
private String bookName;
private String language;
public static void main(String[] args) {
Publisher publisher = new Publisher();
String publisherName=publisher.getName();
}
public Book(String bookName, String language) {
super();
this.bookName = bookName;
this.language = language;
}
public String getBookName() {
return bookName;
}
public String getLanguage() {
return language;
}
}
Во втором классе я essentialy хочу сделать все то же самое, что и в первом, с разницей, что я хочу использовать имя объекта издателя класса в качестве третьего поля. В моем мышлении новичков я думал о решении вопроса, как показано в коде, но я не знаю, могу ли я как-то использовать локальную переменную основного метода в качестве переменной экземпляра.
У меня такое чувство, что я что-то делаю с новичком, поэтому любые советы или решения будут приветствоваться.
Возможно, вам нужно передать экземпляр 'Publisher' в конструктор' Book' и установить его в переменную экземпляра (как и с 'bookName' и' language'). – Thilo
Если вы создадите экземпляр 'Book', вы можете передать локальную' String' в конструктор. – khelwood
Почему у вас есть этот второй конструктор, который позволяет создать неназванный и безстоящий «Издатель»? – Thilo