class Fu{
private Fu(){}
public static Fu f= new Fu();
public static Fu getFu()
{
return f;
}
}
class Zi extends Fu
{
.......
.......
.......
}
class Run
{
class Fu
{
int show()
{
System.out.print("a");
return 0;
}
}
class Zi extends Fu
{
int show()
{
System.out.print("b");
return 0;
}
}
class Run
{
public static void main(String [] args) throws Exception
{
Fu z= new Zi();
z.show(); //在这地方直接调用父类中的show()如何调用?
Fu f = (Fu)z.getClass().getSuperclass().newInstance();
f.show();
}
}作者: 王廷顺 时间: 2013-3-29 23:44
大家给出的解决方法都很好,既然都被你们说了,我在这里就延伸一点,如果定义的是静态方法,去实现这个功能,还可以使用类名调用。代码如下:
class Fu
{
static int show() //定义为静态方法。
{
System.out.print("a");
return 0;
}
}
class Zi extends Fu
{
static int show() //定义为静态方法。
{
Fu.show(); //使用类名调用。
System.out.print("b");
return 0;
}
}
class Run
{
public static void main(String [] args)
{
Zi z= new Zi();
z.show(); //在这地方直接调用父类中的show()如何调用?