java参数列表里面的变量一定要带类型名吗?

为什么一定要这样area(intlength){.....}而不能这样intlength;area(length){......};... 为什么一定要这样
area(int length)
{.....}
而不能这样
int length;
area(length )
{......};
展开
 我来答
hanwei_0311
2013-10-21 · TA获得超过292个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:135万
展开全部
int length;//这行你定义了一个整形变量
首先说下,你上面一行定义的变量length和下面方法的参数length没有任何关系,方法中的参数是局部变量,相当于 void a(){int a;}和 void b(){int a;}他和外面的你定义的变量没有关系。
area(length )
{......};
下面是定义函数,因为java是强类型语言,强制要求了所有的变量必须有类型
如果参数的类型,你想使用的时候再确定,可以使用其他方式实现,比如参数定义Object类型,在函数中通过判断再转换成你想要的类型
石头0123
2015-09-30 · 超过93用户采纳过TA的回答
知道小有建树答主
回答量:274
采纳率:100%
帮助的人:69万
展开全部
一定要带,定义传入的参数的什么类型的数据
如果不确定,可以用object类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈哥深惠通勤
2013-10-21 · TA获得超过1176个赞
知道小有建树答主
回答量:1909
采纳率:33%
帮助的人:841万
展开全部
方法参数列表里的变量是形参,只表明参数的数据类型,方法外面不能访问。
你那样就变成了成员变量,换成实参调用了,别的方法也可以使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天鹅de蛤蟆
2013-10-21
知道答主
回答量:36
采纳率:0%
帮助的人:11.6万
展开全部
方法的定义是在你的area这一行开始的,你如果int length;在上面一行,只会被当做全局变量,而非参数。
int length;
area(int length)
{.....}
这样上面的length与下面的length占用的不是一个存储位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
零下45度锐角
2013-10-21 · TA获得超过102个赞
知道答主
回答量:137
采纳率:0%
帮助的人:45.4万
展开全部
上面那个写法表示方法声明 ,下面那种写法表示方法调用,两种是不同情况下的运用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式