Java中private方法可以被重写吗?
想要弄清楚这个问题,我们首先要知道的就是什么是方法重写。
这是百度的定义:方法重写又称方法覆盖 。方法的重写是指两个方法的返回值、方法名、参数的类型和个数相同 (子类重写父类的方法)。 方法的重写,不能发生在同类中,只能发生在子类中。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
但是根据我自身的学习,我是这样理解的:再有继承关系的两个类中,即一个子类A和一个父类B,现在父类B中有一个已经定义好的方法,现在子类A想要使用这个方法,但是父类B中的功能,子类A不一定需要,也不一定满足,那么怎么办?我们就只能借用父类的方法(两个方法在返回值、方法名、参数类型和参数个数完全一样),而对方法体进行修改,使得这个方法能够满足子类的需求,这就是方法重写。
在方法重写中,private定义的方法是私有的,不能被其他类包括子类访问!因此,我们也不能重写被private修饰的方法!但是,子类一定要借用父类的方法怎么办?此时,我们可以通过扩大子类方法修饰符范围的方式对这个private方法进行另一种方式的‘重写’(在我看来类似于重写,但并不属于重写!)例如:父类是private,而子类可以将方法扩大为public。[public>protected>default>private]{修饰符范围大小}
总结:private方法不能被重写!但是可以通过扩大子类方法修饰符的范围来完成另类的‘重写’。
Java中private方法可以被重写吗?相关推荐
- java中的方法重载和重写
一.方法的重载(overload) (1)重载的概念: 在同一个类或父类与子类之间,允许存在一个以上的同名方法 (2)重载的特点: 参数列表必须不同,返回值和可见性无所谓 (3)重载示例: //返回两 ...
- 解析java中的方法重写
解析java中的方法重写 1 含义 子类继承父类后,可以在子类中书写一个与父类同名同参的方法,从而实现对父类中同名同参数的方法的覆盖,我们把这一过程叫做方法的重写(override) 2 为什么要使用 ...
- java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...
[单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...
- java中clone方法_Java Object clone()方法– Java中的克隆
java中clone方法 Cloning is the process of creating a copy of an Object. Java Object class comes with na ...
- java中main方法前的public static void及其后面的(String[] args)【笔记自用】
为什么Java的main方法必须是public static void? 一. void 如下,像C, C++一样,将返回值类型改为int,再返回一个0,虽然编译通过,但是运行时会报错. 找到一种可理 ...
- java中同步_在Java中的方法同步和语句同步(块同步) - Break易站
Java 多线程 线程主要通过共享对字段的访问和参考字段引用的对象进行通信.这种通信形式非常有效,但可能出现两种错误:线程干扰和内存一致性错误.需要一些同步构造来防止这些错误.以下示例显示了我们需要同 ...
- java 调用 js性能_太快了,太变态了:什么会影响Java中的方法调用性能?
java 调用 js性能 那么这是怎么回事? 让我们从一个简短的故事开始. 几周前,我提议对Java核心libs邮件列表进行更改 ,以覆盖当前final一些方法. 这刺激了一些讨论主题-其中之一是其中 ...
- 太快了,太变态了:什么会影响Java中的方法调用性能?
那么这是怎么回事? 让我们从一个简短的故事开始. 几周前,我提议对Java核心libs邮件列表进行更改 ,以覆盖当前final一些方法. 这刺激了一些讨论主题-其中之一是其中一个性能回归通过采取这是一 ...
- 如何单元测试Java的private方法
问题 Java类中private方法通常只能被其所属类的调用,其他类只能望而却步,单元测试private方法也就一筹莫展. 尝试解法: 在测试时,手动将private改为public,测试完后再将其改 ...
最新文章
- JAVA C++ 左花括号{该另起一行写还是写在行尾的思考
- access开发精要(14)-货币与数字类型格式(2)
- Windows环境下配置JDK
- MySQL小问题:cant connect to MYSQL server on localhost
- hadoop--Yarn资源调度器的基础架构、工作机制 与 作业提交全过程
- MySQL show processlist
- 将Excel文件数据导入到SqlServer数据库的三种方案
- mybatis Example常用方法
- android 计时器 开始 停止 继续和暂停
- c语言程序商品的打折,C语言程序设计习题doc.doc
- 学而不思则罔,思而不学则殆
- Activity全屏透明动画等
- 游戏类型英文简称/全称对照表
- 数学建模--数理统计
- lm2576使用注意
- Android9.0中应用如何通过SAF框架写入外置SD卡
- 走进lync之lync2010
- dns与wins的区别
- CTF入门指南 | 内附教程分享
- DS18B20简单介绍温度测量操作