Java 如何为另一个类使用add方法
我正在尝试使用另一个类中的add方法,这样我就可以测试我的程序了,但我仍然无法继续 在我的公寓类中,我创建了一个add方法Java 如何为另一个类使用add方法,java,class,inheritance,arraylist,Java,Class,Inheritance,Arraylist,我正在尝试使用另一个类中的add方法,这样我就可以测试我的程序了,但我仍然无法继续 在我的公寓类中,我创建了一个add方法 public void addApartment(Apartment newApartment) { House ApartmentEntry = new Apartment(); ApartmentEntry= newApartment; ArrayList.add(ApartmentEntry); } 在Company类中,我尝试使用上面的方法在Co
public void addApartment(Apartment newApartment)
{
House ApartmentEntry = new Apartment();
ApartmentEntry= newApartment;
ArrayList.add(ApartmentEntry);
}
在Company类中,我尝试使用上面的方法在Company中添加公寓,如下例所示:
由于Add公寓方法不是静态的,所以必须创建Company的实例才能使用它。另外,您没有一个包含多个参数的addPartmentMethod,所以我想您应该将这些参数用于partment的构造函数`:
Company company = new Company(args);
company.addApartment(new Apartment(price, numberofbaths, numberofbedrooms, squarefeet));
好吧,假设你有一个公寓类,有这样一个承包商:
public class Apartment{
public Apartment(int price, int numberOfBaths, int numberOfBedrooms, int squarefeet){
this.price = prive;
...
}
}
以下是如何创建公寓的新实例:
Apartment newApartment = new Apartment(price, numberOfBaths, numberOfBedrooms, squarefeet);
知道了这一点,您的add公寓方法可能如下所示:
public void addApartment(int price, int numberOfBaths, int numberOfBedrooms, int squarefeet)
{
House ApartmentEntry = new Apartment(price, numberOfBaths, numberOfBedrooms, squarefeet);
...
}
我不知道您想对该ArrayList做什么,但可以肯定的是,您必须首先声明它:
ArrayList<Apartment> list = new ArrayList<Apartment>();
list.add(newApartment);
在我看来,你是想把这套公寓加入公司 公司级应该有公寓。。。方法 因此,公司类将类似于:
public class Company{
private ArrayList<Apartment> apartments;
public Company(){
apartments = new ArrayList<Apartment>();
}
public addApartment(Apartment apartment){
this.apartments.add(apartment);
}
}
这个问题相当令人困惑。你能说得更清楚一点吗?你的命名惯例也很混乱。我真的不明白你的问题,但是为什么你要创建一个公寓的新实例,然后立即用方法参数覆盖它?您是想创建对象的副本并将其保存在列表中还是做什么?
public class Company{
private ArrayList<Apartment> apartments;
public Company(){
apartments = new ArrayList<Apartment>();
}
public addApartment(Apartment apartment){
this.apartments.add(apartment);
}
}
Company company = new Company(args...);
company.addApartment(new Apartment(price, numberOfBaths, numberOfBedrooms, squarefeet));