栈与堆
请老师帮忙厘清,
①“堆”,是不是应该出现在有主方法main的类中?
而“栈”,是不是应该出现在没有主方法的类中?
②1-11的示例中,当one对象调用run方法,以wh为参数传入时,参数不用和方法定义时一模一样吗?
Cat类中:
public void run(double weight){ }
CatTest类中:
double wh=200;
7
收起
正在回答
1回答
同学你好~
1.堆和栈是Java虚拟机内存中的空间名称,与代码本身并没有直接关系。无论该类是否有main方法,当该类被使用时,都会与堆和栈产生联系。
如下代码:
public class Animal{ public void run(){ System.out.println("动物逃跑了"); } }
当需要调用run方法时,首先需要创建Animal类对象,即Animal a = new Animal();此时该语句就会在堆空间创建一个Animal类型的对象,并且在栈空间中创建一个名为a的变量。栈空间中的a变量指向堆空间的对象本身。
此时可以看出,即使类中没有main方法,也会与堆和栈产生联系。
2.run方法的参数列表中,要求传入一个double类型的参数,而测试类中的wh确实也是double类型。同学需要注意的是,此处只与数据类型有关,与参数名称是无关的。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星