Java中方法重写的应用

方法重写的应用

  当子类需要父类的功能,而功能的主体子类还有自己特有的内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类自己特有的内容。

 1 /*
 2     方法重写:子类中出现了和父类中方法声明一模一样的方法(方法名、参数列表和返回值类型都一样),也被称为方法覆盖、方法复写。
 3     
 4     方法重载:本类中出现的方法名一样,参数列表不同,与返回值无关的方法。
 5 
 6     子类的成员方法名称和父类中的成员方法名称一样时,这个怎么访问呢?
 7         通过子类对象访问一个成员方法的查找顺序:
 8             1.在子类的成员方法中找,有就使用。
 9             2.在父类的成员方法中找,有就使用。
10             3.都找不到,就报错。
11         
12     方法重写的应用:
13         当子类需要父类的功能,而功能的主体子类还有自己特有的内容时,可以重写父类中的方法,
14         这样,即沿袭了父类的功能,又定义了子类自己特有的内容。
15         
16     案例:
17         A:定义一个手机类。
18         B:通过研究,我发明了一个新手机,这个手机的作用是在打完电话后,可以听天气预报。
19             按照我们基本的设计,我们把代码给写出来了。
20             但是呢?我们又发现新手机应该是手机,所以,它应该继承自手机。
21             其实这个时候的设计,并不是最好的。
22             因为手机打电话功能,是手机本身就具备的最基本的功能。
23             所以,我的新手机是不用在提供这个功能的。子类注释掉打电话的功能,
24             但是,这个时候,打电话功能就没有了。这个不好。
25             最终,还是要加上这个功能。
26             由于它继承了手机类,所以,我们就直接使用父类的功能即可。
27             那么,如何使用父类的功能呢?通过super关键字调用即可。
28 */
29 
30 class Phone {
31     public void call(String name) {
32         System.out.println("给"+name+"打电话");
33     }
34 }
35 
36 class NewPhone extends Phone {
37     public void call(String name) {
38         //System.out.println("给"+name+"打电话");
39         super.call(name);//继承父类的功能
40         System.out.println("可以听天气预报了");//子类自己特有的功能。
41     }
42 }
43 
44 class ExtendsDemo9 {
45     public static void main(String[] args) {
46         NewPhone np = new NewPhone();
47         np.call("林青霞");
48     }
49 }
我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值