如何在java中从不同的类创建对象

时间:2014-09-02 00:50:48

标签: java

我是java的新手,想知道如何创建不同类的对象。我会扩展那个类,但是我已经扩展了另一个类。例如:

public class Dog extends Animal{
    //How do I create a "Chupacabra" object in here?
    Chupacabra jeff = new Chupacabra();
    //I've been doing this^, but it says "Cannot be resolved as type"
}

public class Chupacabra {

}

还是我疯了?我知道在那里制作一个Chupacabra物体并没有多大意义,但是......我需要。

3 个答案:

答案 0 :(得分:3)

public class Dog extends Animal{        
    Chupacabra ch = new Chupacabra(); //creating "Chupacabra" object
}

class Chupacabra {

}

您不能在一个.java名称下拥有两个公共类;所以我删除了公共'来自第二节课。

如果你愿意,你可以将第二堂课保持为" Chupacabra.java"

答案 1 :(得分:2)

如果我理解您的问题,并假设ChupacabraDog位于同一个包中。您可以使用默认构造函数,如 -

public class Dog extends Animal{
  //How do I create a "Chupacabra" object in here?
  private Chupacabra myChupacabra = new Chupacabra();
}

如果ChupacabraDog位于不同的包中,则您需要导入Chupacabra

答案 2 :(得分:2)

如果您只想在Chupacabra类中包含Dog类的实例,则可以将其声明为实例变量,如下所示:

<强> Dog.java

public class Dog extends Animal{
    Chupacabra myChupacabra = new Chupacabra();

    //...
}

<强> Chupacabra.java

public class Chupacabra {

}

请注意,Dog类需要在Dog.java中声明,并且Chupacabra类需要在Chupacabra.java中声明。

有关在Java中声明成员变量的更多信息,请参阅the documentation