1
2
3
4
5
6
7
8
9
10
class A {
protected int method1(int a, int b) { return 0; }
}
public class B extends A{
public int method1(int a, int b) { return 0; } //正确,重写父类方法,可以扩大访问权限
//private int method1(int a, int b) { return 0; } //错误,重写父类方法,不能降低了访问权限
//private long method1(int a, int b) { return 0; } //错误,重写父类方法,不能改变返回值类型
public short method1(int a, long b) { return 0; }//正确,重载自身的方法,可以有不同的访问权限和返回值类型
private int method1(int a, long b) { return 0; }//正确,重载自身的方法,可以有不同的访问权限和返回值类型
}

class B 中的这几种情况都编译过,就是不理解。
(1)为什么重写父类方法就不能降低访问权限?
(2)为什么重载自身方法就无所谓访问权限?
谢谢回答~~

---------------问题补充---------------

@Yohns:public short method1(int a, long b) { return 0; } private int method1(int a, long b) { return 0; } 最后两行是不能同时存在的,因为参数一样,编译器会无法识别要载入哪一个

转载于:https://www.cnblogs.com/jianmang/articles/4946280.html

Java继承中为什么不可以降低父类重写方法的访问权限相关推荐

  1. java 重写方法 访问权限_为何Java中子类重写方法的访问权限不能低于父类中权限(内含里氏替换原则)...

    为何Java中子类重写方法的访问权限不能低于父类中权限 因为 向上转型及Java程序设计维护的原因 例: 假设一个父类A 拥有的方法public void setXXX(){}可以被其他任意对象调用这 ...

  2. 为何Java中子类重写方法的访问权限不能低于父类中权限

    参考:http://zhidao.baidu.com/link?url=E-c1LVmYCi3I-X1u5imdsDsdoyfeY2dJau6tU1bWnf4QAS4uthnM_8ffm6K177GE ...

  3. java 继承 子类 实例化_关于Java继承中父类和子类构造函数的问题

    Java子类在实例化时默认调用的是父类的无参构造函数,不论实例化时调用的是子类的有参还是无参构造函数, 1.当父类没有显式定义构造方法时, 编辑器会默认为此类添加一个隐式无参构造函数.此时子类可以有自 ...

  4. Java继承中的子类父类构造方法的调用

    Java的继承中,关于子类和父类构造方法的使用. 子类在初始化时,一定会调用父类的构造方法. 原因如下: 在子类继承父类时,子类会继承父类所有的公共成员变量,公共方法,这些方法在子类中不再重复声明. ...

  5. 转转转!java继承中的this和super

    学习java时看了不少尚学堂马士兵的视频,还是挺喜欢马士兵的讲课步骤的,二话不说,先做实例,看到的结果才是最实际的,理论神马的全是浮云.只有在实际操作过程中体会理论,在实际操作过程中升华理论才是最关键 ...

  6. java可以继承私有的,在java继承中,私有属性能否被继承

    其实在继承中,子类可以继承父类的私有属性的内容空间,但是不能继承父类私有属性的访问权限,下面看代码 父类Animal public class Animal { private String name ...

  7. Java中public,private,protected以及default的访问权限区别

    ** Java中public,private,protected以及default的访问权限区别 ** 首先,从public的字面意思上就能够知道public所指的是公共的,从而我们可以知道publi ...

  8. java中main方法返回类型是6_[单选] Java application中的主类需包含main方法,main方法的返回类型是什么()。...

    [单选] Java application中的主类需包含main方法,main方法的返回类型是什么(). 更多相关问题 关于超声在人体中传播的速度,叙述正确的有A.与人体组织的弹性有关B.与人体组织的 ...

  9. java property xml,Java开发中读取XML与properties配置文件的方法

    相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...

最新文章

  1. ++和+的运算优先级和++i和i++混合用法解析
  2. JavaScript数组方法大全解
  3. linux opengl 实例,一篇文章入门Ubuntu的OpenGL开发
  4. python源码精要(8)-CPython源代码结构
  5. 计算TPCC值的例子
  6. html 边框轮廓,CSS半圈(边框,仅轮廓)
  7. 前端学习(2231):react条件渲染之列表渲染
  8. 论文浅尝 - ESWA | 知识图谱的自动扩充方法
  9. python爬虫requests源码链家_Python爬虫之---爬链家
  10. 3D手势姿态跟踪算法:手机端实时检测,多个手势同时捕捉
  11. Cenos 7修改时区的方法
  12. 武汉理工计算机学院分数线,武汉理工今年计算机分数线
  13. ACM程序设计基础(1)题解
  14. 28.程序管理(ps,top)
  15. 9102,用原生js造一个轮播组件
  16. Java多个pdf文件合并一个pdf(多页)
  17. ipad iphone开发_如何在iPad或iPhone上使用外部GPS设备
  18. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(8)- 从Raw NAND启动
  19. Paxos算法(一)—Basic Paxos
  20. vcm驱动芯片原理_手机摄像头VCM音圈马达,原理、结构

热门文章

  1. 【Java】【Fulme】Flume-NG源代码阅读之SpoolDirectorySource
  2. 蓝桥杯 算法训练 区间k大数查询(水题)
  3. [研究笔记]Lambda表达式学习笔记
  4. L1-015. 跟奥巴马一起画方块-PAT团体程序设计天梯赛GPLT
  5. linux创建raid5分区,linux RAID5 创建过程以及raid5扩容步骤(软raid)
  6. 使用NoSQL Manager for MongoDB客户端连接mongodb
  7. SD9001: IE6 IE7 IE8(Q) 中的 getElementById 方法能以 name 属性为参数获取某些元素
  8. Java 实例 - 查找 List 中的最大最小值
  9. PostgreSQL 10 高可用 本地SSD盘 版本发布
  10. Mirage学习笔记