怎么有错误?请解答一下。

qq14923349 2006-03-29 06:29:08
class Test{

private final int i=10;
public static void main(String args[]){

System.out.println(i);

Test a=new Test();
a.meth();

}

void meth(){
System.out.println();
}

}


我改了一下,如下
class Test{

private final int i=10;
public static void main(String args[]){

//System.out.println(i);

Test a=new Test();
a.meth();

}

void meth(){
System.out.println(i);
}

}
是不是static 访问的问题?static 方法访问一个实例变量有错误???有点混乱了,望高手指正.
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xudong1552 2006-03-29
  • 打赏
  • 举报
回复
修改下private static final int i=10;因为用final修饰符说明常量时要注意
1.需要说明常量的数据类型;
2.同时指出常量的具体取值;
3.因为类对象的常量成员数值一定,为节省空间要被申明为static;
同时用private修饰的属性及方法要用自身的类的方法来调用实现对该属性的修改,此例中你没有用到方法进行调用修改,因而不能访问>
yuucyf 2006-03-29
  • 打赏
  • 举报
回复
同意楼上的
zx2002027 2006-03-29
  • 打赏
  • 举报
回复
private final int i=10;
i是实例变量,必须与Test对象的实例一起用,又因i是private的,不能直接访问
konhon 2006-03-29
  • 打赏
  • 举报
回复
private static final int i=10;

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧