/*
子父类中的函数.
当子类出现和父类一模一样的函数时,
当子类对象调用该函数,会运行子类函数的内容。
如同父类的函数被覆盖一样。
这种情况是函数的另一个特性:重写(覆盖)。
区分函数的另一个特点:重载(同名不同参)
当子类继承父类。沿袭了父类的功能到子类中,
但是子类虽具备该功能,但是功能的内容却和父类不一致,
这时,没有必要定义新功能,而是使用覆盖特点,保留父类的功能定义,并重写功能内容。
覆盖:
1、子类覆盖父类,必须保证子类权限大于等于父类权限,否则编译失败。
2、静态只能覆盖静态。静态不能覆盖非静态。
记住:
重载:只看同名函数的参数列表
重写(覆盖):子父类方法要一模一样,包括返回类型。
*/
class Fu
{
void show1()
{
System.out.println("fu show");
//return 1;//多一句子函数也不是覆盖。
}
void speak()
{
System.out.println("vb");
}
}
class Zi extends Fu
{
//void speak2()
void speak()//子类函数名与父类函数名一样:覆盖:有利于功能扩展。
{
System.out.println("java");
}
void show()
{
System.out.println("zi show");
}
}
class ExtendsDemo3
{
public static void main(String[] args)
{
Zi z=new Zi();
//z.show1();//输出fu show
//z.show2();//输出zi show
z.show();//输出zi show
z.speak();//覆盖,子类内容覆盖父类内容。
}
}
//来电显示。但是后期要升级。
class Tel
{
void show()
{
System.out.println("number");
}
void lingsheng()
{}
}
//升级后,继承新手机,还覆盖
class NewTel extends Tel
{
void show()
{
//System.out.println("number");
super.show();//调用父类的show函数
System.out.println("name");
System.out.println("picture");
}
}
子父类中的函数.
当子类出现和父类一模一样的函数时,
当子类对象调用该函数,会运行子类函数的内容。
如同父类的函数被覆盖一样。
这种情况是函数的另一个特性:重写(覆盖)。
区分函数的另一个特点:重载(同名不同参)
当子类继承父类。沿袭了父类的功能到子类中,
但是子类虽具备该功能,但是功能的内容却和父类不一致,
这时,没有必要定义新功能,而是使用覆盖特点,保留父类的功能定义,并重写功能内容。
覆盖:
1、子类覆盖父类,必须保证子类权限大于等于父类权限,否则编译失败。
2、静态只能覆盖静态。静态不能覆盖非静态。
记住:
重载:只看同名函数的参数列表
重写(覆盖):子父类方法要一模一样,包括返回类型。
*/
class Fu
{
void show1()
{
System.out.println("fu show");
//return 1;//多一句子函数也不是覆盖。
}
void speak()
{
System.out.println("vb");
}
}
class Zi extends Fu
{
//void speak2()
void speak()//子类函数名与父类函数名一样:覆盖:有利于功能扩展。
{
System.out.println("java");
}
void show()
{
System.out.println("zi show");
}
}
class ExtendsDemo3
{
public static void main(String[] args)
{
Zi z=new Zi();
//z.show1();//输出fu show
//z.show2();//输出zi show
z.show();//输出zi show
z.speak();//覆盖,子类内容覆盖父类内容。
}
}
//来电显示。但是后期要升级。
class Tel
{
void show()
{
System.out.println("number");
}
void lingsheng()
{}
}
//升级后,继承新手机,还覆盖
class NewTel extends Tel
{
void show()
{
//System.out.println("number");
super.show();//调用父类的show函数
System.out.println("name");
System.out.println("picture");
}
}