Java 对象实例化另一个对象?
是否可以从另一个对象实例化对象 看看这个 这种情况在Java等编程语言中可能吗Java 对象实例化另一个对象?,java,object,instantiation,uml,Java,Object,Instantiation,Uml,是否可以从另一个对象实例化对象 看看这个 这种情况在Java等编程语言中可能吗 这种情况在UML等建模语言中可能吗?如果我理解您的要求,是的,您可以通过继承或组合来实现 继承: ClassB extends ClassA { public ClassB() { super(); // calls ClassA constructor // do more stuff } } 组成: ClassX { private ClassY
这种情况在UML等建模语言中可能吗?如果我理解您的要求,是的,您可以通过继承或组合来实现 继承:
ClassB extends ClassA {
public ClassB() {
super(); // calls ClassA constructor
// do more stuff
}
}
组成:
ClassX {
private ClassY y;
public ClassX() {
y = new ClassY(); // calls ClassY constructor
// do more stuff
}
}
祝你好运 是的,这是Java的重要组成部分,任何面向对象的语言都是如此 如果有两个对象A和B,并且B是A的子类,则可以使用B实例化A:
A baseObject = new B();
这里的关系表示“B”是“A”:这意味着在任何有A的地方,都可以在其位置实例化A B,因为B是A的适当子类型。请注意,如果这样使用A的接口,则仍然只能使用A的接口
当使用列表时,可以看到Java中的一个真实示例。Java中的List类是从集合派生的抽象容器类型。在本例中,列表是我们的“A”类型。有许多不同类型的列表,例如LinkedList和ArrayList。LinkedList和ArrayList是列表的正确子类型,在本例中为“B”类型。因此,您可以将列表初始化为其任何子类型:
List<String> stringList = new ArrayList<String>();
List-stringList=new-ArrayList();
或
List-stringList=new-LinkedList();
希望这能有所帮助。是的,面向对象编程的整个概念取决于对象是否能够创建其他对象 在Java中,我们通过调用构造函数来创建实例,比如
newclassb()
,它为我们实例化了一个新的ClassB对象。如果我们想让ClassA实例化ClassB,我们只需要让ClassA调用ClassB的构造函数。下面是我们在Java中的实现方法
public class ClassA{
public ClassA(){
ClassB instance1 = new ClassB();
}
}
在这里,我这样做是为了当ClassA被实例化(调用了它的构造函数)时,它会创建一个名为instance1的ClassB的新实例。您是在问是否可以从Java中的另一个对象实例化一个对象?考虑到每个程序都需要一个对象,我当然希望如此。关于你的第二个问题,你本质上是在问UML中的这个例子是否可以用UML表示。除了“是”之外,很难想象答案会是什么。我认为你需要澄清这个问题。我不同意第一个。在UML图中有两个对象。在VikingSteve的代码中,只创建了一个对象。我的理解是,即使涉及两个类,为一个对象绘制2条生命线是不好的UML
public class ClassA{
public ClassA(){
ClassB instance1 = new ClassB();
}
}