java问题,帮帮忙,急!~

来源:百度知道 编辑:UC知道 时间:2024/06/10 12:37:06
public class X
{
public static void main(String[] args)
{
X a=new Y();
test();
}
void test()
{
System.out.print("X");
}
}
class Y extends X
{
void test()
{
super.test();
System.out.println("Y");
}
}

以上程序编译出错,“无法从静态上下文引用非静态方法test()”,如何修改,本人是初学菜鸟

直接这样写 它会调用X的test(),但它不是静态方法 所以出错

X a=new Y();
a.test();
这样 它就会调用Y的test

static void test()

test()是无参方法
public class X
{
public static void main(String[] args)
{
X a=new Y();
test();
}

}
class Y extends X
{

}
void test()
{
System.out.print("X");
}
void test()
{
super.test();
System.out.println("Y");
}