Java题,class A { static int x; } class B { A a = new A(); a.x=1; }错在哪

本文探讨了Java中静态变量的正确使用方式,特别是在不同类间如何正确地进行初始化和赋值操作。通过示例说明了直接在成员变量声明处赋值与在构造方法中赋值的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java题,class A { static int x; } class B { A a = new A(); a.x=1; }错在哪

2015-05-12 11:07 harm2855  |  浏览 47 次
2015-05-12 11:19 提问者采纳
热心网友
A a = new A(); 这个视为声明成员变量,
a.x=1; 但这个就不能直接写在这个地方了,必须写到方法里。
追问:
这个方法怎么构造,可以写一个完整的解决方法吗
追答:
class A { static int x; } 
class B { 
    A a = new A();
    public B(int n){
        a.x = n;
    }
}
这样就不会错了。

另外,A中定义的x是static的,所以B中完全可以这样写
class B { 

    public B(int n){

        A.x = n;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值