java中什么叫覆盖Override?请给实例
5.覆盖(Override)
马克-to-win:方法的覆盖(Override)是指子类重写从父类继承来的一个同名方法(参数、返回值也同)。
例1.5.1--
class AAAMark_to_win {
double f(double x, double y) {
return x * y;
}
}
class BBB extends AAAMark_to_win {
double f(double x, double yMark_to_win)
/*注意这里的返回值必须为double,如返回int值,
我试过报错,因为sun公司不出这个语法,他没法办,
到时obj.f(4,6)不知道调用基类还是本类的方法。
*/
{
return x + yMark_to_win;
}
}
public class Test {
public static void main(String args[]) {
AAAMark_to_win a = new AAAMark_to_win();
System.out.println(a.f(4, 6));
BBB obj = new BBB();
System.out.println(obj.f(4, 6));
}
}
例1.5.2---
class AAAMark_to_win {
double f(double x, double yMark_to_win) {
return x * yMark_to_win;
}
}
class BBB extends AAAMark_to_win {
double f(double x, double y) {
return x + y;
}
}
public class Test {
public static void main(String args[]) {
AAAMark_to_win a = new AAAMark_to_win();
System.out.println(a.f(4, 6));
BBB obj = new BBB();
System.out.println(obj.f(4, 6));
/* 基类指针指向子类或说派生类效果就像子类指针指是一样的,为什么?马克-to-win:因为new BBB();时,BBB的属性的内存空间也被开辟了。只是语法上允许“基类指针指向派生类”
*/
AAAMark_to_win obj1 = new BBB();
System.out.println(obj1.f(4, 6));
}
}
更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44639795/article/details/103118765
java中什么叫覆盖Override?请给实例的更多相关文章
- JAVA - 请说明”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
请说明"static"关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? "static"关键字表明一个成 ...
- c#和java中的方法覆盖——virtual、override、new
多态和覆盖 多态是面向对象编程中最为重要的概念之一,而覆盖又是体现多态最重要的方面.对于像c#和java这样的面向对象编程的语言来说,实现了在编译时只检查接口是否具备,而不需关心最终的实现,即最终的实 ...
- java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?重写跟重载的区别?
java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况.与此相对,方法覆盖是说子类重新定义了父类的方法.方法覆盖必须有相同的方法名,参数列表和返回类型. 覆盖者可能不会限 ...
- C++中的重载隐藏覆盖&&JAVA中的重载覆盖&&多态
class 类继承默认是private, struct 默认继承是public C++中的隐藏: 只要派生类中出现和基类一样的函数名,基类中的函数就会被派生类中的函数给隐藏(如果派生类和基类中的函数名 ...
- static关键字什么意思?Java中是否可以覆盖一个private或者是static的方法?
答案:“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问.Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译 ...
- java中this总结(转载请注明出处)
1:this在构造方法中:this可以进行构造方法中的相互调用,this(参数): 2:this调用方法中,代表调用该方法的对象的地址,例如下面的代码比较 package thisTest; publ ...
- Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
一.Java的反射机制 每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图: 其中
- Java中9大内置基本数据类型Class实例和数组的Class实例
1.Java中9大内置几本数据类型: 对于对象来说,可以直接使用对象.getClass()或者Class.forName(className);.类名.class都可以获取Class实例. 但是我们的 ...
- java中重载和覆盖(又称重写)的区别
初次见到这两个单词并没有什么特别的感觉,但是时间长了,却发现书上一会儿用override,一会儿又用overload,搞得我的迷迷糊.于是就做了个总结,希望能对和我一样对这两个概念模糊不清的网友有一个 ...
随机推荐
- Linux下配置远程免密登录
第一步: 输入ssh-keygen: [root@localhost zookeeper-3.5.7]# ssh-keygen Generating public/private rsa key pa ...
- MySQL 中如何归档数据
归档,在 MySQL 中,是一个相对高频的操作. 它通常涉及以下两个动作: 迁移.将数据从业务实例迁移到归档实例. 删除.从业务实例中删除已迁移的数据. 在处理类似需求时,都是开发童鞋提单给 DBA, ...
- tp5 git 常见命令
git clone git add . # 跟踪所有改动过的文件 git commit -m "commit message" # 提交所有更新过的文件 git checkout ...
- Kubernetes系列(四) StatefulSet
作者: LemonNan 原文地址: https://juejin.im/post/6870071267438329869 Kubernetes系列(四) StatefulSet Kubernetes ...
- SP20173题解
膜拜 rqy. 题意: 求: \[\sum_{i=1}^n \sigma_0(i^2) \] 首先我们知道 \(\sigma_0((p^k)^2)=2 \times k + 1=k+(k+1)=\si ...
- 【数据库】SQL 语句大全
数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 数据定义 CREAT ...
- java 网络编程之Socket编程
1.客户端代码 1 package com.gylhaut.socket; 2 3 import java.io.BufferedReader; 4 import java.io.IOExcept ...
- NaviCat连接提示驱动程序IM004错误
今天一打开NaviCat提示驱动程序IM004错误,百度了好几种方法都不起作用,多次尝试后总结出一套方法: 一.到控制面板--卸载程序--卸载NaviCat Clien 注意可能有多个版本的,2008 ...
- FLask插件
Flask插件 flask-session 下载 pip install Flask-session 导入 from flask_session import Session 实例化session 在 ...
- 不使用数字和字母的PHP webshell
Round 1 代码如下: <?php if(!preg_match('/[a-z0-9]/is',$_GET['shell'])) { eval($_GET['shell']); } 思路 将 ...