/*
子父类中函数的特点:覆盖(重写)
当子类出现和父类一模一样的函数,当子类对象调用该函数会运行子类函数的内容,如同父类函数被覆盖一样。
当子类继承父类,沿袭了父类的功能到子类中,子类虽具备该功能,但功能的内容却和父类的不一致,这时没有必要定义新功能
而是使用覆盖特性保留父类的功能定义,重写功能内容{即重写方法体}。
注意:1.子类的权限大于或等于父类的权限才能覆盖父类的函数
2.静态只能覆盖静态,不能覆盖非静态(为什么?)
*/
class Fu
{
void show()//如果show方法是private修饰的,则不会被子类show方法覆盖,因为私有的不会被其他类发现
{
System.out.println("Fu_show");
}
}
class Zi extends Fu
{
void show()//子类的权限大于或等于父类的权限才能覆盖父类的函数
{
System.out.println("Zi_show");
}
}
class Test
{
public static void main(String[] args)
{
Zi z=new Zi();
z.show();
}
}
//---------------------------------------------------------------------------------------------
//实现电话来电显示功能的更新,升级,功能的扩展
class Tel
{
void show()
{
System.out.println("number");
}
}
class NewTel extends Tel
{
void show()//该show方法将重写父类Tel的show方法,实现功能的扩展
{
super.show();//因为System.out.println("number");在父类Tel中已经实现了,所以可以用super.show()的格式调用
System.out.println("name");
System.out.println("pic");
}
}
|
|