问题描述
- 为什么char型数组定义在注释的地方就不行?
-
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类的一个对象,其只可以调用该类的成员方法和成员变量,你在成员方法中定义了一个变量,其并不属于该类的成员变量,故会报错。
解决方案二:
IDEA 亲测,上面的代码可以运行
解决方案三:
对象只能调用自己有权限的方法和自己有权限的属性,你放在上面就表示这个a的char数组是类的属性,而且这个对象有权限调用,就可以使用,但放在方法里面,就不是类的属性了,只是个局部变量,对象只能通过调用它的方法来修改局部变量的值(比如通过传参改值)。
解决方案四:
在上面的定义的是全局变量。 而你在main 方法里面直接定义一个Char[]数组 你重新new了一个自身的方法 去调用main里面的方法肯定不对的啊
解决方案五:
表示看不懂你要表达的问题
解决方案六:
在那定义,属于局部,调用的方式需要改下
解决方案七:
楼上的顶,是可以的,只会输出全局变量a里面的内容
解决方案八:
可以输出啊 ,不过输出的是上面全局的 main方法中的被注释掉 不会执行
时间: 2024-12-27 19:01:24