1、方法重写
①概述
子类中出现了和父类中一模一样的方法声明
②应用
当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法, 这 样,即沿袭了父类的功能,又定义了子类特有的功能。
2、范例:
public class phone {
public void call(String name) {
System.out.println("给" + name + "打电话");
}
}
( 子类:新手机打电话时增加了视频功能,需重写父类的call方法 )
public class newPhone extends phone {
//与父类相同的方法:(方法重写)
public void call(String name) {
System.out.println("开启视频功能");
// System.out.println("给" + name + "打电话");
// 用super代替:
super.call(name);
}
}
测试类:
public class phoneDemo {
public static void main(String[] args) {
//创建对象,调用方法
phone p = new phone();
p.call("刘宇");
System.out.println("--------");
newPhone np = new newPhone();
np.call("刘宇");
}
}
输出结果:
给刘宇打电话
--------
开启视频功能
给刘宇打电话
3、插入一则小知识!!!
在重写的方法前加上@Override可以作为注解来检查方法声明的正确性
4、方法重写的注意事项:
①私有方法(用private修饰的)不能被重写(父类私有成员子类是不能继承的)
②子类方法访问权限不能更低(public>默认>私有)
二、Java中继承的注意事项
1、Java中类只支持单继承,不支持多继承
2、Java中类支持多层继承
举例:
错误:
public class Son extends Father,Mother { }正确: public class Granddad { }
public class Father extends Grandad { }
public class Son extends Father { }



