Java为什么不能在 类中方法外给成员变量赋值(已定义)

classA{inti;i=1;}为什么不行... class A {
int i;
i = 1;
}
为什么不行
展开
 我来答
匿名用户
推荐于2018-02-02
展开全部
i=1是语句,语句出现在类成员的位置(类中,成员方法之外)需要加{},使之成为构造代码块,否则在编译时会报错。改成这样就可以了(jdk8.0编译通过):
class AA {
int i;
{
i=i;
}
}
public class Test {
public static void main(String[] args) {
AA a2=new AA();
}
}
tangyyer
推荐于2017-09-19 · TA获得超过15.6万个赞
知道顶级答主
回答量:5万
采纳率:84%
帮助的人:1.6亿
展开全部
i = 1
是java 的代码行,代码必须放到方法中 或静态代码块 中!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
记仇de小女子
2015-11-13 · 超过75用户采纳过TA的回答
知道小有建树答主
回答量:191
采纳率:100%
帮助的人:101万
展开全部
如果这样赋值,那么i=1会在什么时候执行呢?
i=1不属于任何一块,这就像为什么1+1要等于2这种.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式