我的java问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 12:41:29
public class a{
public static void main(String[]args){
int f;//为什么放在这里不行。要写成类变量才行呢
a b=new a();
b.f=10;
b.h="asdf";
System.out.println(b.f);}}

f定义在main方法内是main方法的私有变量,不能通过其他方法访问,如果加上static则会出现变异错误,因为私有变量前是不允许出现static关键字的,所以要想在其他对象中访问f,则f必须定义为成员变量。

你定义的的这个f是局部变量,只有在main()方法中可见,不是类变量,所以不能通过对象名b来访问

这会儿没时间,有时间研究一下。

1楼的可以吧

顶1楼的,想那样写应该把f写成static int f