新手没多少分给,还是希望高手能进来指导一下。
class Demo
{
void f()
{
static int x=10;
static void g()
{
System.out.println();
}
}
}
我的问题是成员函数内为什么不能定义静态方法还有变量?希望能详细一点最好不要说什么必须有了Demo的对象才能调用
f()的方法,而静态的可以直接用类名调用之类的,我是想知道它实质性的原因,如果是死的规定那就算了。。。可能是新手还没有整明白。我就是转不过那个弯来。。
------解决方案--------------------LZ静态成员和方法都是相对与类说的(只能定义在类里) 写在方法里的是局部变量没有静态之分
void f()
{
void g()
{
System.out.println();
}
}
方法里面不可以在定义方法了
------解决方案--------------------
------解决方案--------------------首先方法里面不能定义方法,方法只能定义在类里面,方法与方法之间是调用与被调用关系!
其次,楼主对于方法里面不能定义静态变量的问题,楼主不防这样想,方法里面的变量是私有变量,只有方法内部才能访问的,方法外部是访问不到的,而静态变量在内存中是只有一份的,可以理解为公共的,那么假如方法内部可以定义静态的变量,那么这个变量是公共的还是私有的呢?这是不是相互矛盾呢?
最后,希望我的回答能帮到楼主!
------解决方案--------------------