本帖最后由 杜佳瑞 于 2012-8-1 10:03 编辑
class Fu
{
void method1()
{
System.out.println("fu method1");
}
void method2()
{
System.out.println("fu method2");
}
static void method4()
{
System.out.println("fu method4");
}
}
class Zi extends Fu
{
void method1()
{
System.out.println("zi method1");
}
void method3()
{
System.out.println("zi method3");
}
static void method4()
{
System.out.println("zi method4");
}
}
class DuoTaiDemo
{
public static void main(String[] args)
{
Fu f=new Zi();
f.method1();//对象所属类有调用方法,则执行对象中方法,运行时看右边
f.method2();//对象所属类没有调用方法,执行父类中方法,运行时看右边
//f.method3(); // 编译时不通过,因为父类中没有method3(),编译时看左边 也就是楼主所说父类引用不能访问子类函数
f.method4();//函数为静态函数时,执行父类函数,无论编译还是运行都看左边
}
}
结果:
zi method1
fu method2
fu method4
|