/*
方法重写:子类中出现和父类中方法声明一模一样的方法(方法名、参数、返回什么类型都一样)[方法覆盖、复写]
方法重载:
本类中出现方法名一样,参数列表不同的方法,与返回值无关。
子类对象调用方法的时候:
先找子类本身,再找父类
方法重写的应用:
当子类需要父类的功能,而功能主体子类有自已特有内容时,可以重写父类中的方法。
这样,既沿袭了父类的功能,又定义了子类特有的内容。
案例:
A:定义一个手机类
B:通过研究,我发明了一个新手机,这个手机的作用是在打完电话后,可以听天气预报。
按照我们基本的设计,我们把代码给写出来了。
但是呢?我们又发现新手机应该是手机,所以,它应该继承自手机。
其实这个时候的设计,并不是最好的。
因为手机打电话功能,是手机本身就具备的最基本的功能。
所以,我的新手机是不用再提供这个的功能。
但是,这个时候,打电话功能就没有了。这个不好。
最终,还是加上这个功能。由于它继承了手机类,所以我们就直接使用父类的功能既可。
那么,如何使用父类的功能呢?通过super关键字调用
*/
class Phone{
public void call(String name){
System.out.println("给"+name+"打电话");
}
}
class NewPhone extends Phone{
public void call(String name){
//System.out.println("给"+name+"打电话");
super.call(name);
System.out.println("听天气预报");
}
}
class ExtendsDemo9{
public static void main(String[] args){
//创建对象
NewPhone np = new NewPhone();
np.call("小刚");
}
}
面向对象_方法重写的应用
最新推荐文章于 2022-09-03 09:03:51 发布