我有两个类Class A和Class B。
class A
{
int width;
int height;
};
class B
{
A obj;
};
我正在尝试创建一个如下所示的指针
B* myObj = new B();
在这里,在堆中创建myObj。obj、width和height是在哪里创建的?
给定以下代码,在main()中创建了多少个对象,在执行第15行之后,有多少对象有资格进行垃圾收集?
class Test
{
int[] dz = {1, 2, 3, 4, 5};
}
public class MarksDriver
{
public static void main(String[] args)
{
Test[] da = new Test[3];
da[0] = new Test();
Test d = new Test();
da[1] = d;
d = null;
(
具体来说,在这个链接中,据说创建的对象存储在堆中,但是线程还是在其中创建了它。现在,我想问一下,如果我在run()方法中创建相同的对象,然后说创建10个线程并启动它们,我的问题是,如何创建同名的对象?
public void run(){
String t = new String();
Integer n = new Integer(5);
}
可能重复:
class foo{
private:
int bar;
constructors and other members here...
}
如果我使用新的操作符创建foo实例,那么它将在哪里创建呢?
堆,我猜,但是我的int bar;是在哪里创建的,堆栈还是堆?
如果我的bar不是原始数据类型,而是像this->bar=bar();这样创建的另一个对象,那么它将在哪里创建?
我只想说清楚,用两种形式调用一个函数,如
通过创建一个对象并使用该对象调用该方法。
而不创建调用函数的对象。
我的意思是,例如,我有一门课
Class A{
public int callMethod(){
return 2;
}
}
现在我正在创建另一个类来调用在类A中定义的方法callMethod
Class B {
public static void main(String[] args) throws ParseException {
A a = new A();
//1st form to call the metho
这里有两门课
class A
{
}
class B extends A
{
}
A是从B.What继承而来的,令我困惑的是,当我使用以下代码时创建了多少个对象
A a = new B();
我知道当我创建B实例时,它首先调用A的构造函数,然后调用B的构造函数。
当调用A的构造函数时,是否创建了A的实例?
中创建了多少对象?
A a = new B();
我当时正在学习构造函数,我偶然发现了new关键字。
var obj = new myContructor();
我了解到,它创建了一个新对象,将其原型设置为constructor.prototype,将其属性设置为符合this关键字,并最终返回该对象。
现在,我搞不清楚它究竟是在哪里创建新对象的,比如在内存中,还是在某个易失性的地方。
当我们说它返回那个对象时,它在var obj的位置创建一个新对象的副本,或者它引用obj到它创建新对象的地方,这意味着什么?