码迷,mamicode.com
首页 > 编程语言 > 详细

Java中方法重写的应用

时间:2018-02-15 15:40:08      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:demo   class   []   作用   font   注释   手机   hone   gpo   

方法重写的应用

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

 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 }

Java中方法重写的应用

标签:demo   class   []   作用   font   注释   手机   hone   gpo   

原文地址:https://www.cnblogs.com/chenmingjun/p/8449533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!