为什么Java中的静态方法只能接受方法内部的final或非final变量,而不能接受静态变量?
例如,我有以下方法:
例如,我有以下方法:
public static void myfunc(int somethig)
{
int a=10;
final int b=20;
static int c=30; //gives Error why?
}
final
和static
是正交的概念。问题所暗示的三个选项并不存在(或者说不可能存在)。在允许使用静态变量的情况下,无论是静态还是非静态,它们都可以是final或non-final。 - Carl Manaster