Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为另一个类使用add方法_Java_Class_Inheritance_Arraylist - Fatal编程技术网

Java 如何为另一个类使用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

我正在尝试使用另一个类中的add方法,这样我就可以测试我的程序了,但我仍然无法继续

在我的公寓类中,我创建了一个add方法

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));