A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lxdamya 初级黑马   /  2015-5-15 19:26  /  387 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Test_1 {
char ch1=97;
char ch2=0142;
char ch3=0x63;
public static void main(String []args){
//char ch1=97;
//char ch2=0142;
//char ch3=0x63;

System.out.println(ch1);
System.out.println(ch2);
System.out.println(ch3);
}
问题描述:就是我这个程序是有错的,但是我把ch1,ch2,ch3取消注释,把他们变为局部变量时,就没错。我想知道这是什么原因?小弟求解懂得兄弟给讲讲,谢谢了

3 个回复

倒序浏览
静态方法不能访问非静态成员变量,main()先于对象成员变量ch1,ch2,ch3存在。想要访问它们,创建对象,通过对象引用可以访问。
回复 使用道具 举报
楼上大哥说的很清楚
回复 使用道具 举报
pvbj0314 发表于 2015-5-15 19:30
静态方法不能访问非静态成员变量,main()先于对象成员变量ch1,ch2,ch3存在。想要访问它们,创建对象,通 ...

谢谢谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马