• 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 }
  • 相关阅读:
    UVA 562 Dividing coins
    who is in front of me 解题报告
    UVA 111 历史考试
    UVA 1045 最长公共子序列
    HDU 1003 解题报告
    ACM2014-04训练计划
    基于邻接表的新顶点的增加
    4004.六度空间理论
    4003.基于Dijsktra算法的最短路径求解
    4002.基于快排思想的查找
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8449533.html
Copyright © 2020-2023  润新知