为什么嵌套类的私有成员可以被封闭类的方法访问?

乔乔

谁能告诉我私人会员的访问级别?我一直对这段代码感到困惑:为什么可以在外部类的“打印”方法中访问Line类的私有成员k?

public class myClass {
    public static class Line{
        private double k;
        private double b;
        private boolean isVertical;

        public Line(double k, double b, boolean isVertical){
            this.k = k;
            this.b = b;
            this.isVertical = isVertical;
        }

    }

    public static boolean print(Line line){
        System.out.println(line.k);
    }
}
Sotirios Delimanolis

规则在关于可访问性JLS章中

否则,如果声明了成员或构造函数private,则仅当访问发生在封装成员或构造函数的声明的顶级类(第7.6节)的主体内时,才允许访问

在这里,成员字段k在类中声明Line当您在print方法中访问它时,您正在包含该成员的声明的顶级类的主体中对其进行访问

顶级课程在这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么嵌套的子类可以访问其父类的私有成员,但子孙却不能呢?

来自分类Dev

为什么嵌套类不能具有成员类型是封闭类的成员?

来自分类Dev

为什么可以在compareTo中访问类的私有成员?

来自分类Dev

Typescript-使用类作为接口,为什么我必须实现私有成员/方法?

来自分类Dev

为什么嵌套类不能具有其成员类型为封闭类的成员?

来自分类Dev

Java中静态嵌套类的私有成员

来自分类Dev

如何避免使用反射访问类的私有成员?

来自分类Dev

访问派生类C ++的私有成员

来自分类Dev

无法从C ++中的类内部访问私有成员?

来自分类Dev

类对象不能访问其自己的私有成员?

来自分类Dev

访问派生类C ++的私有成员

来自分类Dev

什么阻止你在包中声明额外的类,让你访问包私有成员

来自分类Dev

F#类将接口实现为私有成员,为什么呢?

来自分类Dev

F#类将接口实现为私有成员,为什么呢?

来自分类Dev

C ++ | 派生类正在访问基类的私有成员,而不是其自己的私有成员

来自分类Dev

如何让方法访问其他模板类实例的私有成员?

来自分类Dev

类方法如何访问相同类的另一个实例的私有成员?

来自分类Dev

为什么点运算符(。)可以与私有类成员/方法一起使用?

来自分类Dev

方法可以访问参数的私有成员吗?

来自分类Dev

公共类,但私有成员变量?

来自分类Dev

公共类,但私有成员变量?

来自分类Dev

对象作为类的私有成员

来自分类Dev

Php:公开类的私有成员

来自分类Dev

对类私有成员的 MPI 操作

来自分类Dev

从基类继承的C ++公共方法无法访问派生类中的私有成员变量

来自分类Dev

通过私有成员访问同一个类的私有成员变量

来自分类Dev

内部类可以访问基类中的私有final方法,但是为什么呢?

来自分类Dev

为什么我可以在单元测试类中访问私有方法

来自分类常见问题

为什么甚至可以更改私有成员或使用反射在C#中运行私有方法?

Related 相关文章

  1. 1

    为什么嵌套的子类可以访问其父类的私有成员,但子孙却不能呢?

  2. 2

    为什么嵌套类不能具有成员类型是封闭类的成员?

  3. 3

    为什么可以在compareTo中访问类的私有成员?

  4. 4

    Typescript-使用类作为接口,为什么我必须实现私有成员/方法?

  5. 5

    为什么嵌套类不能具有其成员类型为封闭类的成员?

  6. 6

    Java中静态嵌套类的私有成员

  7. 7

    如何避免使用反射访问类的私有成员?

  8. 8

    访问派生类C ++的私有成员

  9. 9

    无法从C ++中的类内部访问私有成员?

  10. 10

    类对象不能访问其自己的私有成员?

  11. 11

    访问派生类C ++的私有成员

  12. 12

    什么阻止你在包中声明额外的类,让你访问包私有成员

  13. 13

    F#类将接口实现为私有成员,为什么呢?

  14. 14

    F#类将接口实现为私有成员,为什么呢?

  15. 15

    C ++ | 派生类正在访问基类的私有成员,而不是其自己的私有成员

  16. 16

    如何让方法访问其他模板类实例的私有成员?

  17. 17

    类方法如何访问相同类的另一个实例的私有成员?

  18. 18

    为什么点运算符(。)可以与私有类成员/方法一起使用?

  19. 19

    方法可以访问参数的私有成员吗?

  20. 20

    公共类,但私有成员变量?

  21. 21

    公共类,但私有成员变量?

  22. 22

    对象作为类的私有成员

  23. 23

    Php:公开类的私有成员

  24. 24

    对类私有成员的 MPI 操作

  25. 25

    从基类继承的C ++公共方法无法访问派生类中的私有成员变量

  26. 26

    通过私有成员访问同一个类的私有成员变量

  27. 27

    内部类可以访问基类中的私有final方法,但是为什么呢?

  28. 28

    为什么我可以在单元测试类中访问私有方法

  29. 29

    为什么甚至可以更改私有成员或使用反射在C#中运行私有方法?

热门标签

归档