我是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物体并没有多大意义,但是......我需要。
答案 0 :(得分:3)
public class Dog extends Animal{
Chupacabra ch = new Chupacabra(); //creating "Chupacabra" object
}
class Chupacabra {
}
您不能在一个.java名称下拥有两个公共类;所以我删除了公共'来自第二节课。
如果你愿意,你可以将第二堂课保持为" Chupacabra.java"
答案 1 :(得分:2)
如果我理解您的问题,并假设Chupacabra
与Dog
位于同一个包中。您可以使用默认构造函数,如 -
public class Dog extends Animal{
//How do I create a "Chupacabra" object in here?
private Chupacabra myChupacabra = new Chupacabra();
}
如果Chupacabra
与Dog
位于不同的包中,则您需要导入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。