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 }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM