关于为什么Java类中不能在方法体外赋值
来看看这个代码
class A{
int[] a = new int[3];
a[0] = 5;
//IDEA报错 unexpected token
}
将数组元素赋值语句放在方法体中
class A{
int[] a = new int[3];
public void func(){
a[0] = 5;
} //一切正常,无报错
最初以为是不能对引用类型变量赋值,但是发现String可以赋值
然后,通过问人,得到如下解释
在结合代码
class A{
int[] a = new int[3];
/*
修饰符没写为default int[] 是变量类型 那么这一句就是属性
*/
a[0] = 5;
/*
没写修饰符 没写变量类型, 这句话是具体逻辑代码,应该放在方法体中
*/
//这么设计是为了满足 封装 特性
}