У меня есть один основной класс Test и два других (класс Book, class Order), которые представляют некоторые конкретные объекты. Из моего класса Test я создаю 5 объектов Book. Теперь я хочу создать два объекта Order, которые используют методы из класса Order. Для конкретного использования setCustomerName(), SetCustomerAddress(), toString() getTotlaPrice() и addBook(). После того, как я установил геттеры и сеттеры для setCustomerName() и SetCustomerAddress(), у меня нет ошибок для них в тестовом классе. Мой вопрос заключается в том, как я могу создать 5 переменных экземпляра книги в классе Order, которые будут заполнены данными (или параметрами) объектов Book, созданными в классе Test, если они вызываются (из класса Test с addBook()), так что я могу использовать их в других методах в одном классе. Например, в классе Test, если я вызываю addBook (b1) метод addBook(), который находится в классе Order, должен инициализировать или заполнить одну из переменных экземпляра книги (я предполагаю, что это объект?), созданный в Order с данными члена из одной ссылки (с b # 1-5) в классе Test. Это два класса. Я не использовал класс Book, потому что он просто создает объект Book. Любая помощь очень ценится!Переменные экземпляра (объект из другого класса)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test
{
public static void main(String args[]) throws ParseException
{
SimpleDateFormat fmt = new SimpleDateFormat(Book.DATE_FORMAT);
// Creating Book-objects...
Book b1 = new Book(1, "Homo Faber", "Max Frisch", fmt.parse("01.01.1957"), -10);
Book b2 = new Book(2, "Harry Potter", "J.K. Rowling", fmt.parse("25.7.2000"), 45);
Book b3 = new Book(3, "Krieg und Frieden", "Leo Tolstoi", fmt.parse("24.01.1867"), 29);
Book b4 = new Book(4, "Freedom", "Jonathan Franzen", fmt.parse("08.06.2010"), 39);
Book b5 = new Book(5, "Goedel, Escher, Bach", "Douglas Hofstadter", fmt.parse("05.11.1979"), 42);
// Creating two orders containing theses books...
Order order = new Order();
order.setCustomerName("Sophie Muster");
order.setCustomerAddress("Mittelstrasse 10, 3011 Bern");
order.addBook(b1);//Here i want to fill one of the Book instance variables (i guess this is an object to?) created
order.addBook(b2);//in the Order class with the member data of the
order.addBook(b3);//Book objects referenced (with b#1-5) which i have created above.
order.addBook(b4);
order.addBook(b4);
order.addBook(b5);
System.out.println(order);
System.out.print("\n");
Order order2 = new Order();
order2.setCustomerName("Woody Allen");
order2.setCustomerAddress("5th Avenue 7, 10001 New York");
order2.addBook(b5);
System.out.println(order2);
}
}
.
public class Order {
private static int idCounter;
private int id;
private String customerName;
private String customerAddress;
// The Constructor
public Order(int tmpId, String tmpCustomerName,String tmpCustomerAddress){
if (idCounter == 1);{
id = 1;}
if (idCounter == 2){
id = 2;}
if (idCounter == 3);{
id = 3;}
if (idCounter == 4){
id = 4;}
if (idCounter == 5){
id = 5;}
customerName = tmpCustomerName;
customerAddress = tmpCustomerAddress;
}
public Order() {
id = 0;
customerName = "-";
customerAddress = "-";
}
// The methods
public String toString()
{
return id + ", " + customerName + ", " + customerAddress;
}
public String addBook(){
//HERE with this method i want to add some of the Book objects i have made in Test class
// ?? Book b1 = Test.b1(); ??
return "0";
}
public int getTotalPrice(){
return 0;
}
public String getCustomerName()
{
return customerName;
}
public String setCustomerName(String tmpCustomerName){
customerName = tmpCustomerName;
return customerName;
}
public String getCustomerAddress()
{
return customerAddress;
}
public String setCustomerAddress(String tmpCustomerAddress){
customerAddress = tmpCustomerAddress;
return customerAddress;
}
}
Хит вводят иногда при написании вопроса. –
Хорошо, извиняюсь, извините за это! – Kisos
Но почему вы хотите заполнить данные в классе заказов или создать новые объекты книги в классе заказа? – conFusl