当前位置: 代码迷 >> Java相关 >> java的类的定义.
  详细解决方案

java的类的定义.

热度:160   发布时间:2007-05-31 19:08:32.0
java的类的定义.
为什么下面两个类的定义都是不对的!!!
class MyClass
{
private int Val;
public static int getVal()
{
return Val;
}
}



class MyClass
{
private int Val;
public static int setVal(int Val)
{
this.Val=Val;
}
}
搜索更多相关的解决方案: java  定义  

----------------解决方案--------------------------------------------------------

静态方法不能访问非静态变量和方法。。


----------------解决方案--------------------------------------------------------

class MyClass
{
void Val(){

}



public static void getVal()
{

}
}


----------------解决方案--------------------------------------------------------
2楼的“狂放不羁”,能说明白点吗?我有点不懂,我在这里先谢了。
----------------解决方案--------------------------------------------------------

class MyClass
{
private int Val;
public static int getVal() //你呃里是静态方法,不能访问非静态的变量
{
return Val;
}
}


----------------解决方案--------------------------------------------------------

static静态方法中不可以访问非static的变量


----------------解决方案--------------------------------------------------------
2楼.
也就是说静态的方法只能访问静态的变量和方法了.
那么静太的变量和方法也只能用静太的去调用?
----------------解决方案--------------------------------------------------------

谢谢提醒!!


----------------解决方案--------------------------------------------------------
[QUOTE]2楼.
也就是说静态的方法只能访问静态的变量和方法了.
那么静太的变量和方法也只能用静太的去调用?[/QUOTE]

静态的方法里不能调用非静态的变量,因为静态的方法可以通过类名直接调用,那么假如你还没有实例化一个类的话,那么你访问的变量可能还没有加载到内存中,所以不能访问,至于静态的方法和变量既可以在静态方法也可以在非静态方法中调用。。因为静态的变量和方法是你用new操作符实例化一个变量的时候或者
静态变量和静态方法被第一次访问时调用的。。最重要的时,你要想访问一个变量,这个变量必须已经在内存中存在了,如果不存在就不能访问。。
----------------解决方案--------------------------------------------------------
  相关解决方案