想要弄清楚这个问题,我们首先要知道的就是什么是方法重写。

这是百度的定义:方法重写又称方法覆盖 。方法的重写是指两个方法的返回值、方法名、参数的类型和个数相同 (子类重写父类的方法)。 方法的重写,不能发生在同类中,只能发生在子类中。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。

但是根据我自身的学习,我是这样理解的:再有继承关系的两个类中,即一个子类A和一个父类B,现在父类B中有一个已经定义好的方法,现在子类A想要使用这个方法,但是父类B中的功能,子类A不一定需要,也不一定满足,那么怎么办?我们就只能借用父类的方法(两个方法在返回值、方法名、参数类型和参数个数完全一样),而对方法体进行修改,使得这个方法能够满足子类的需求,这就是方法重写。

在方法重写中,private定义的方法是私有的,不能被其他类包括子类访问!因此,我们也不能重写被private修饰的方法!但是,子类一定要借用父类的方法怎么办?此时,我们可以通过扩大子类方法修饰符范围的方式对这个private方法进行另一种方式的‘重写’(在我看来类似于重写,但并不属于重写!)例如:父类是private,而子类可以将方法扩大为public。[public>protected>default>private]{修饰符范围大小}

总结:private方法不能被重写!但是可以通过扩大子类方法修饰符的范围来完成另类的‘重写’。

Java中private方法可以被重写吗?相关推荐

  1. java中的方法重载和重写

    一.方法的重载(overload) (1)重载的概念: 在同一个类或父类与子类之间,允许存在一个以上的同名方法 (2)重载的特点: 参数列表必须不同,返回值和可见性无所谓 (3)重载示例: //返回两 ...

  2. 解析java中的方法重写

    解析java中的方法重写 1 含义 子类继承父类后,可以在子类中书写一个与父类同名同参的方法,从而实现对父类中同名同参数的方法的覆盖,我们把这一过程叫做方法的重写(override) 2 为什么要使用 ...

  3. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

  4. 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 ...

  5. java中main方法前的public static void及其后面的(String[] args)【笔记自用】

    为什么Java的main方法必须是public static void? 一. void 如下,像C, C++一样,将返回值类型改为int,再返回一个0,虽然编译通过,但是运行时会报错. 找到一种可理 ...

  6. java中同步_在Java中的方法同步和语句同步(块同步) - Break易站

    Java 多线程 线程主要通过共享对字段的访问和参考字段引用的对象进行通信.这种通信形式非常有效,但可能出现两种错误:线程干扰和内存一致性错误.需要一些同步构造来防止这些错误.以下示例显示了我们需要同 ...

  7. java 调用 js性能_太快了,太变态了:什么会影响Java中的方法调用性能?

    java 调用 js性能 那么这是怎么回事? 让我们从一个简短的故事开始. 几周前,我提议对Java核心libs邮件列表进行更改 ,以覆盖当前final一些方法. 这刺激了一些讨论主题-其中之一是其中 ...

  8. 太快了,太变态了:什么会影响Java中的方法调用性能?

    那么这是怎么回事? 让我们从一个简短的故事开始. 几周前,我提议对Java核心libs邮件列表进行更改 ,以覆盖当前final一些方法. 这刺激了一些讨论主题-其中之一是其中一个性能回归通过采取这是一 ...

  9. 如何单元测试Java的private方法

    问题 Java类中private方法通常只能被其所属类的调用,其他类只能望而却步,单元测试private方法也就一筹莫展. 尝试解法: 在测试时,手动将private改为public,测试完后再将其改 ...

最新文章

  1. JAVA C++ 左花括号{该另起一行写还是写在行尾的思考
  2. access开发精要(14)-货币与数字类型格式(2)
  3. Windows环境下配置JDK
  4. MySQL小问题:cant connect to MYSQL server on localhost
  5. hadoop--Yarn资源调度器的基础架构、工作机制 与 作业提交全过程
  6. MySQL show processlist
  7. 将Excel文件数据导入到SqlServer数据库的三种方案
  8. mybatis Example常用方法
  9. android 计时器 开始 停止 继续和暂停
  10. c语言程序商品的打折,C语言程序设计习题doc.doc
  11. 学而不思则罔,思而不学则殆
  12. Activity全屏透明动画等
  13. 游戏类型英文简称/全称对照表
  14. 数学建模--数理统计
  15. lm2576使用注意
  16. Android9.0中应用如何通过SAF框架写入外置SD卡
  17. 走进lync之lync2010
  18. dns与wins的区别
  19. CTF入门指南 | 内附教程分享
  20. DS18B20简单介绍温度测量操作

热门文章

  1. GitHub官方出手,一针见血!Spring Boot趣味实战手册来袭(彩版)
  2. IOS 和安卓系统比较
  3. C51简易计算器微机课设
  4. 一个随机的抽答的小程序
  5. 局域网搭建视频服务器
  6. 英雄联盟无限重新连接服务器,英雄联盟无法连接服务器你想重新连接吗
  7. yolact-训练自己的数据集
  8. S-Video连接电视,其他程序一切正常,就是不能看视屏?
  9. 蓝桥杯 算法训练 黑色星期五
  10. 电销外呼系统的外显号码可以自己选择吗?