gpt4 book ai didi

java - 父类由多个子类扩展,是否会为每个子类创建多个父类实例?

转载 作者:行者123 更新时间:2023-12-02 12:02:45 26 4
gpt4 key购买 nike

如果一个父类由多个子类扩展,并且所有子类都并行运行,那么在运行时是否会为每个子类创建多个父类实例?只是出于好奇。

为了清楚地理解,让我们考虑下面的代码。

父类:

public class Parent {

public String a = "Parent";

}

子级 1:

import org.testng.annotations.Test;

public class Child1 extends Parent {

@Test
public void child1() {

a = "Child1";
}
}

child 2级:

import org.testng.annotations.Test;

public class Child2 extends Parent {

@Test
public void child1() {

a = "Child2";
}
}

在这里我想了解如果Child1和Child2类并行运行,是否会分别为Child1和Child2创建两个单独的父类实例(内存空间),或者两者将共享父类的公共(public)实例(内存空间)?

最佳答案

are there going to be multiple instances of parent class created for each child class at run time ?

简短的回答是否定的。

问题是,在这种情况下,Java 将只创建两个实例 - 都是子类。每当你使用extends关键字时,你就告诉Java扩展对象的蓝图,而不是对象本身,这意味着如果谈到内存分配,实例是完全相互独立的.

关于java - 父类由多个子类扩展,是否会为每个子类创建多个父类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47126441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com