为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能在类中初始化实例变量?

为什么不能在类中初始化实例变量?

一只斗牛犬 2022-06-08 17:27:20
这是我的代码:public class MyClass {    int x;    MyClass m1 = new MyClass();    m1.x=10;}为什么 line 会m1.x=10;导致错误?
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

如果你想为变量 x 赋值,初始化它的行应该放在下面的特定方法中。你打算这样做吗?


public class MyClass

{

    int x;  


    public static void main(String[] args)

    {

        MyClass m1 = new MyClass();

        m1.x = 10;

    }

}


查看完整回答
反对 回复 2022-06-08
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

使用实例初始化块:


public class MyClass {

    int x;    // define x variable

    MyClass m1 = new MyClass();    // initialize m1 variable

    {

        m1.x=10;    // assign 10 to m1.x (this is assignment statement)

    }

}

在块外,您只能定义和初始化变量,而不是赋值语句。


查看完整回答
反对 回复 2022-06-08
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

您的代码中有两个错误:

MyClass m1 = new MyClass();

这是一个无限递归。

m1.x=10;

这是一个语句,因此应该在方法或构造函数中,而不是在类主体中。


查看完整回答
反对 回复 2022-06-08
  • 3 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信