java中类创建对象在有构造函数和声明对象的情况下,必须使用new关键字分配内存么?

例如class圆{圆底圆;//这个中没有为对象分配内存,是怎么回事?底圆=circle;圆circle=new圆();}... 例如
class 圆
{ 圆 底圆;//这个中没有为对象分配内存,是怎么回事?
底圆=circle;
圆 circle=new 圆();
}
展开
 我来答
Ly爱问问
2011-10-21
知道答主
回答量:37
采纳率:0%
帮助的人:30.3万
展开全部
你只是定义了一个圆类,声明了一个底圆。相当于只告诉了计算机有这么一个叫底圆的东西。只有有new关键字给一个类实例化是,才分配空间
打个比方:你到银行存钱,人很多,这时候你会先抽一个号,然后等服务员叫这个号时,你才能去办理业务。底圆就相当于你抽的号码。
不知道我的比喻合理不,反正你就当它是个声明就行
追问
声明了它和创建了它有什么区别?望赐教!
追答
你在看看我给你那个比方。其实答案就在里面。简单的说,声明就是预先通知计算机有这样一个东西,以便于以后用到。而创建则是直接在计算机内分配一个内存空间给它使用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彬臣_
2011-10-21
知道答主
回答量:2
采纳率:0%
帮助的人:3366
展开全部
在面向对象中,类和对象是最核心的概念,定义一个类,就相当于定义了一个类型,它是引用类型,跟基本数据类型不一样,在引用数据类型中,(除String类型)都需要使用new关键字来创建一个对象,如你的第三种写法,实质是调用圆的无参构造函数来创建一个对象。也就是在内存中为该对象占了一个内存空间,而你的第一种写法只是为声明了有底圆这么一个对象,并没有为它分配空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ward502
2011-10-21 · TA获得超过1185个赞
知道大有可为答主
回答量:794
采纳率:0%
帮助的人:1364万
展开全部
new 是实例化一个对象,实例的时候会调用构造方法。
你不实例化是分配不了内存空间,除了静态的。
这个与有无构造方法无关。

我本军团为你解答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弘菀柳XI
2011-10-21 · TA获得超过1052个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:90万
展开全部
圆 底圆;//这个中没有为对象分配内存,是怎么回事?
这是一个对象声明,这个时候对象还没有创建,所以不用分配内存;

使用new关键字这个部分称为类的实例化,对象必须以这种形式来创建,这个时候开始为创建的对象分配内存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bf750b0
2011-10-21 · TA获得超过147个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:81.4万
展开全部
除非是静态的,不然是必须的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式