zoukankan      html  css  js  c++  java
  • java中的访问权限

    java中的访问权限:public、protected、包访问权限、private

    这是非常熟悉的,因为都知道,java中的封装是指将数据和方法包装进类中,并且赋予合适的访问控制

    类中的数据,方法均含有上述访问权限控制,同时类也是含有访问权限控制

    类的访问权限控制只有包访问权限和public权限,不含protected和private权限

    在没有声明package的类的访问权限默认为包访问权限

    注意以下使用“类”只是为了说明问题的方便

    问:一个类声明为包访问权限,其中含有一个public权限的成员,其它包中的类能否访问此类的public类型成员

    答:不能,首先需要关注类的访问权限,如果类都不能进行访问,那么类中的成员也就可想而知。

    问: 还是上面那个问题,如果含有的是一个public static类型的成员,情况是否会发生变化

    答:不会

    问:将这个类的声明改为public时,但是含有一个static类型的成员,情况如何

    答:可访问类的public成员,但是不能访问其它权限成员,当然,此时的static类型的成员默认为包访问权限,因此也是访问不了的

    总的来说,java中对于权限的访问时比较严格的,除了对类的权限进行检查外,还需要对类中的成员进行检查,获取到对类的访问权限后,类中成员的访问权限依然由限制,这在java的字节码文件中也可以看到,类和字段表中均有权限访问的标志位。

    特殊情况:如果时默认包访问权限,并且含有public static类型的成员,外部时可以通过反射访问此成员,但是不能创建对象。

  • 相关阅读:
    bzoj1027 状压dp
    CodeForces755F 贪心 + 多重背包二进制优化
    CodeForces632E 神奇的多重背包
    POJ3662 SPFA//二分 + 双端队列最短路
    bzoj1233 单调队列优化dp
    POJ3417 LCA+树dp
    Network
    树网的核/[SDOI2011]消防
    [APIO2010]巡逻
    核心城市
  • 原文地址:https://www.cnblogs.com/xuhan74520/p/13609055.html
Copyright © 2011-2022 走看看