package cn.lut.test;
public class InvokeTest {
char a[]={'a','b','c'};
public static void main(String[] args) {
//char a[]={'a','b','c'};
InvokeTest test=new InvokeTest();
System.out.println(test.a);
}
}
看懂了。。。你那个test是InvokeTest类的一个对象,其只可以调用该类的成员方法和成员变量,你在成员方法中定义了一个变量,其并不属于该类的成员变量,故会报错。
在上面的定义的是全局变量。 而你在main 方法里面直接定义一个Char[]数组 你重新new了一个自身的方法 去调用main里面的方法肯定不对的啊
表示看不懂你要表达的问题
在那定义,属于局部,调用的方式需要改下
IDEA 亲测,上面的代码可以运行
对象只能调用自己有权限的方法和自己有权限的属性,你放在上面就表示这个a的char数组是类的属性,而且这个对象有权限调用,就可以使用,但放在方法里面,就不是类的属性了,只是个局部变量,对象只能通过调用它的方法来修改局部变量的值(比如通过传参改值)。
楼上的顶,是可以的,只会输出全局变量a里面的内容
可以输出啊 ,不过输出的是上面全局的 main方法中的被注释掉 不会执行