Java中方法重写的应用

简介: 方法重写的应用   当子类需要父类的功能,而功能的主体子类还有自己特有的内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类自己特有的内容。 1 /* 2 方法重写:子类中出现了和父类中方法声明一模一样的方法(方法名、参数列表和返回值类型都一样),也被称为方法覆盖、方法复写。

方法重写的应用

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

 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 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
1月前
|
人工智能 Java API
Java也能快速搭建AI应用?一文带你玩转Spring AI可落地性
Java语言凭借其成熟的生态与解决方案,特别是通过 Spring AI 框架,正迅速成为 AI 应用开发的新选择。本文将探讨如何利用 Spring AI Alibaba 构建在线聊天 AI 应用,并实现对其性能的全面可观测性。
|
4月前
|
人工智能 安全 Java
Java和Python在企业中的应用情况
Java和Python在企业中的应用情况
148 7
|
21天前
|
开发框架 算法 Java
Java方法重写(Override)与重载(Overload)的详细对比
在Java编程中,多态性是面向对象编程的核心概念之一。Java通过两种重要的机制来实现多态:方法重写(Override)和方法重载(Overload)。虽然这两个概念都与方法的不同实现有关,但它们在本质上有很大的区别。本文将详细对比这两种机制,帮助开发者更好地理解和应用它们。
65 5
|
25天前
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
2月前
|
存储 Java 开发者
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
本文详细介绍了 Java 中 `toString()` 方法的重写技巧及其重要
75 10
【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。
|
27天前
|
缓存 Java 物联网
CRaC技术助力ACS上的Java应用启动加速
容器计算服务借助ACS的柔性算力特性并搭配CRaC技术极致地提升Java类应用的启动速度。
|
27天前
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
2月前
|
Java 编译器 开发者
Java中的this关键字详解:深入理解与应用
本文深入解析了Java中`this`关键字的多种用法
253 9
|
2月前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
60 5