栈与堆

栈与堆

请老师帮忙厘清,

①“堆”,是不是应该出现在有主方法main的类中?

而“栈”,是不是应该出现在没有主方法的类中?


②1-11的示例中,当one对象调用run方法,以wh为参数传入时,参数不用和方法定义时一模一样吗?

Cat类中:

public void run(double weight){   }

CatTest类中:

double wh=200;



正在回答

登陆购买课程后可参与讨论,去登陆

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 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师