//Sub.java ,例程1
class Base
{
private String showMe()
{
return "Base";
}
public void print()
{
System.out.print(showMe());//调用谁的showMe()方法呢?
}
}
class Sub extends Base
{
public String showMe()
{
return "Sub";
}
public static void main(String[] args)
{
Sub sub=new Sub();
sub.print();
}
}
从例程中我们可以看到,在父类Base中定义了一private访问权限的showMe()方法,在子类Sub中又定义了public访问权限的showMe()方法。
运行这个例程,得到的打印结果是“Base”。
同样,我们将例程做些修改:将Base类的showMe()方法的访问权限改为public,即:
//Sub.java ,例程2
class Base
{
public String showMe()
{
return "Base";
}
public void print()
{
System.out.print(showMe());
}
}
class Sub extends Base
{
public String showMe()
{
return "Sub";
}
public static void main(String[] args)
{
Sub sub=new Sub();
sub.print();
}
}
再次运行例程,得到的打印结果是“Sub”。