public class UnSafeSequence {

public class TestMath{

private TestMath(){

System.out.println("父类实例化");

}

}

public class TestMath1 extends TestMath{

public TestMath1(){

System.out.println("子类实例化");

}

}

/**

* @param args

*/

public static void main(String[] args) {

System.out.println(new UnSafeSequence().new TestMath1());

}

}

java6语言规范中关于private修饰符的描述,顶级类及内部类的定义

6.6.1 if the member or constructor is declared private, then access is permitted if and only if it occurs within the body of the top level class (§7.6) that encloses the declaration of the member or constructor.

如果一个类的成员或构造器声明为private的,那么只有声明这个成员或构造器的顶级类才有权访问(当然声明这个成员和构造函数的类也是可以访问的)

8.A top level class is a class that is not a nested class.A nested class is any class whose declaration occurs within the body of another class or interface. A top level class is a class that is not a nested class.顶级类不是一个嵌套类(内部类),嵌套类(内部类)是申明在其他类或接口中的类鉴于以上的规定描述,那么外部类中可以访问构造器标示为private的TestMath内部类。TestMath1同样是一个内部类,其继承了另一个内部类TestMath,因为一个内部类依赖外部类实例对象而存在,会隐式的关联一个外部类实例

所以

public class TestMath1 extends TestMath{

public TestMath1(){

System.out.println("子类实例化");

}

}

可以写成

public class TestMath1 extends UnSafeSequence.TestMath{

public TestMath1(){

UnSafeSequence.this.super();

System.out.println("子类实例化");

}

}

这样就可以解释一个内部类的子类为什么可以访问其父类的私有的构造函数了

java 父类私有成员_java父类私有成员相关推荐

  1. java子类和父类有相同成员_Java -- 父类和子类拥有同名的成员变量的情况

    Java – 父类和子类拥有同名的成员变量取值情况 参考文章 结论: 当子类的成员变量与父类同名时,若对该成员变量进行操作的方法继承于父类,则改变和获取的是父类的成员变量.若对该成员变量进行操作的方法 ...

  2. java 反射 获取成员_java 反射获取成员

    package com.wxjaa; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java ...

  3. java 子类 同名参数_Java -- 父类和子类拥有同名变量

    Java -- 父类和子类拥有同名变量 Java -- 父类和子类拥有同名变量 Java – 父类和子类拥有同名变量 请仔细观察系列两段程序的不同之处:一个Son类重写print方法,另一个则没有重写 ...

  4. java父类子类顺序_java父类子类內部程序的执行顺序

    之前一致沒有認真研究這個問題,今天在研究JAVA類加載順序時突然想好好地研究研究.實驗總結如下: step 1.父類的靜態成員和靜態塊(靜態變量和靜態塊屬同一級,自上而下執行) step 2.子類的靜 ...

  5. java子类访问父类私有成员_Java中子类可以继承父类的私有成员,但是不能(直接)访问!!!...

    今天学习Java三大特征之一:继承的时候,产生了一些疑问,最后通过网上查找和各位网友的帮助,终于拔开云雾见日出.下面进入正题: 首先:子类对象拥有父类中的所有属性和方法:在这里,很多人会问构造器可以继 ...

  6. java 私有成员方法_Java Reflection 教程(7):类私有成员变量和方法

    一般来说,不可以访问类的私有成员变量和调用类的私有方法.但通过Java Reflection API可以绕过这个限制,前面使用的getMethods, getFields,getConstructor ...

  7. c 子类对象 访问父类对象受保护成员_java面向对象总结

    前言:文章参考<java疯狂讲义>进行总结和归纳,知识要进行输出才算真正的有用. 在java的世界里,一切皆为对象,类是对对象的抽象,来一个例子:Person类 public 有了类,就可 ...

  8. java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...

    摘要:这篇JavaScript栏目下的"Javascript类定义语法,私有成员.受保护成员.静态成员等介绍",介绍的技术点是"javascript类.JavaScrip ...

  9. abstract类中不可以有private的成员_我要告诉你:java接口中可以定义private私有方法...

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

最新文章

  1. leetcode-295 数据流的中位数
  2. linux ps命令大全,Linux ps命令例子汇总
  3. 【Python】Error:Input 'y' of 'Add' Op has type float32 that does not match type int32 of argument 'x'.
  4. velocity用法简单实例说明 .
  5. AHOI2005航线规划 bzoj1969(LCT缩点)
  6. 快速找到message toast弹出的application代码位置
  7. 客户端SDK测试思路
  8. UnrealScript吐槽系列之一:标识符作为操作符
  9. 3.3 超参数训练的实践:Pandas VS Caviar
  10. 报线上python课程靠谱吗-Python培训线上和线下有什么区别?
  11. 小程序数据框有重影_小程序开发(二):数据绑定
  12. 图像局部特征(十五)--MSCR
  13. 教你chrome浏览器断点调试理解闭包
  14. vue函数如何调用其他函数?_详解 vue 生命钩子函数
  15. java面试题框架知识点总结
  16. 一招让你的百度网盘免费不限速下载,每秒宽带满速下载
  17. RabbitMQ交换机的讲解
  18. 126 删除邮件 服务器,网易126邮箱中的邮件莫名奇妙被删除
  19. 生日祝福电子贺卡html5,电子生日祝福卡
  20. fis3 前端项目构建,一步步来

热门文章

  1. Go语言实现文本文件拷贝
  2. POJ NOI0105-45 金币
  3. explanatory variable(independent vs dependent)、design matrix
  4. 二次型(求梯度) —— 公式的简化
  5. 排列组合的思考、组合数的推广和拓展
  6. 机器学习基础(五十七)—— 监督学习、无监督学习
  7. MySQL 安装(msi/zip方式安装)
  8. python 遍历文件夹下文件修改并保存_利用python完成自动化的任务之遍历文件夹修改文件之后并保存备份...
  9. 职称计算机pscs4教程,2017年职称计算机photoshop测验练习(4)
  10. python下载-Python下载和安装图文教程[超详细]