初学者一个java的简单概念问题?
Randomrand=newRandom()这句话应该怎么理解?new是开辟一个空间它怎么知道rand占多大的内存呢?在使用rand.nextInt(10)的时候返回的随...
Random rand=new Random()这句话应该怎么理解?new是开辟一个空间 它怎么知道rand占多大的内存呢?在使用rand.nextInt(10)的时候返回的随机值存在哪里?是存在rand里面吗?还是就是存在这个方法中?
展开
3个回答
展开全部
第一个问题跟你说也没用。感兴趣的话推荐研究《深入Java虚拟机》
第二个问题,方法调用是有返回值的。需要 int a = rand.nextInt(10); 这种方式。否则返回的值将没有引用,会被GC销毁。
第二个问题,方法调用是有返回值的。需要 int a = rand.nextInt(10); 这种方式。否则返回的值将没有引用,会被GC销毁。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
朋友你好、
当new创建 一个对象的时候,会在堆区中开辟一块内存空间。Random rand=new Random();中rand存放的是对象的引用,引用rand放在了栈区中。这个时候它的内存空间是不确定的,当使用
rand.nextInt(10);的时候就确定了它的内存空间了。就是一个int类型从0~9的一个随机数(一个int数值,4个字节)的内存空间。 并不是存放在rand中了。rand只是存放你创建的Random这个实体对象的引用在栈区中。可以这样来理解:int temp=rand.nextInt(10);这样就把获取的随机数放到了以temp为引用的栈区空间中,因为它是引用数据类型,所以在栈区开辟空间。并不是存放在这个方法中。方法并不是内存空间,而是给程序员在需要的时候用来调用的……
希望可以帮到你。
当new创建 一个对象的时候,会在堆区中开辟一块内存空间。Random rand=new Random();中rand存放的是对象的引用,引用rand放在了栈区中。这个时候它的内存空间是不确定的,当使用
rand.nextInt(10);的时候就确定了它的内存空间了。就是一个int类型从0~9的一个随机数(一个int数值,4个字节)的内存空间。 并不是存放在rand中了。rand只是存放你创建的Random这个实体对象的引用在栈区中。可以这样来理解:int temp=rand.nextInt(10);这样就把获取的随机数放到了以temp为引用的栈区空间中,因为它是引用数据类型,所以在栈区开辟空间。并不是存放在这个方法中。方法并不是内存空间,而是给程序员在需要的时候用来调用的……
希望可以帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询