9 回答
TA贡献2条经验 获得超0个赞
成员变量在类的范围内,存在于堆内存中,会有默认的初始值,在声明的同时已经给变量赋值了。再次”赋值“实际是使用了语句,而类体里面只能出现变量和方法,不能出现语句。
TA贡献2条经验 获得超4个赞
因为在类中只能有定义,不能单独出现语句,像先声明在赋值,第二个就是赋值语句,这是规定!没有为什么一说,如果你一定要先声明在赋值你可以{x=10};括起来
TA贡献1条经验 获得超0个赞
public class demo{
int x ;
x = 1;
}
上边是2个操作,第一个,声明一个类的成员变量,第二个,对成员变量赋值,而成员变量属于对象,对它的赋值只能由对象来操作,在类中单独对其赋值,当然要报错了。成员变量可以不用赋初值,在new对象的时候,系统会默认分配一个初值,基本数据类型赋为0,引用类型的成员变量赋值为null
public class demo{
int x = 1; //这条语句是声明成员变量的同时并为其指定初始值,
}
public class demo{
public static void main(String[] args) {
int x;
x = 1;
}
}
这段代码在main方法中声明了一个局部变量,并且在main方法中为变量赋值,所以没有错误(这个变量的作用域只能是main方法,出了main方法再赋值就会报错了)
上边需要搞清楚的是,成员变量可以不赋初值,创建对象后直接使用,单局部变量必须要声明并赋值后,才能使用
TA贡献7条经验 获得超1个赞
其实你没弄清楚成员变量,也就是实例变量和局部变量的区别。这个原因就是这两者的区别。实例变量是类的属性,而局部变量是方法的属性。作用域不同。
TA贡献81条经验 获得超23个赞
可以的嘛,再赋值的时候要指名在本类。
public class demo1{ int a; this.a =10; }
当然,你使用的时候,还是去学习一下get和set这个东东吧,哈哈
添加回答
举报