问题 问答题

指出下面代码中不合法的地方,并指明原因。
class Class26

float u;static float v;
static void setuv(boolean f)

u=sm(f);
v=rm(! f);

float rm(boolean f)

return f u:v;

static float sm(boolean f)

return f u:v;

答案

参考答案:class Class26
{
float u;static float v;
static void setuv(boolean f)
{
u=sm(f);
v=rm(! f);//非法,类方法(setuv)不能直接调用实例方法(rm)(即类方法不能直接调用非类方法)
}
float rm(boolean f)
{
return f u:v;
}
static float sm(boolean f)
{
return f u:v;//非法,类方法不能引用实例变量(u),只能引用类变量(v)
}
}

选择题
单项选择题