/*
2.子父类中的函数。
当子类出现和父类一模一样的函数是,
当子类对象调用该函数。会运行子类函数的美容。
如同父类的函数被覆盖一样。
这种情况是函数的另一个特性:重写(覆盖);
当子类继承父类。沿袭了父类的功能,到子类中。
但是子类虽具备该功能,但是功能的内容却和父类中的不一致
这时,没有必要定义新功能,而是使用覆盖特性,保留父类的功能定义,并重 写功能内容。
覆盖的注意事项:
1,子类覆盖父类,必须保证子类权限大于等于父类权限。否则编译失败。
2,静态只能覆盖静态。
大家记住了:
重载:只看函数的参数列表。
重写:子父类要一模一样
*/
//定义父类
class Fu {
void show() {
System.out.println("c++");
}
}
//定义子类
class Zi extends Fu {
//覆盖父类特有的方法
void show() {
super.show(); //调用父类的特有函数
System.out.println("java");
}
//定义子类特有的函数
void speak() {
System.out.println("我要唱歌");
}
}
//测试类
class FuGaiTest {
public static void main(String[] args) {
Zi z = new Zi();
z.show();
z.speak();
}
} |
|