Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java访问修饰符_Java - Fatal编程技术网

java访问修饰符

java访问修饰符,java,Java,没有任何修饰符(默认修饰符)只能从同一个包中访问,并且不能与子类一起访问 如果子类在同一个包中呢?子类是否可以访问它 如果子类在同一个包中呢?子类是否可以访问它 对。“不使用子类”只是“子类不能自动访问它”——它不像是显式地阻止子类访问它 有关详细信息,请参阅。特别是: 否则,我们说存在默认访问,只有在从声明类型的包中进行访问时才允许默认访问 无法从同一个包访问任何修改器(默认修改器) 仅适用于子类,而不适用于子类 是的,它是可访问的,在同一个包中的所有类中没有可访问的修改器(默认修改器) Mo

没有任何修饰符(默认修饰符)只能从同一个包中访问,并且不能与子类一起访问

如果子类在同一个包中呢?子类是否可以访问它

如果子类在同一个包中呢?子类是否可以访问它

对。“不使用子类”只是“子类不能自动访问它”——它不像是显式地阻止子类访问它

有关详细信息,请参阅。特别是:

否则,我们说存在默认访问,只有在从声明类型的包中进行访问时才允许默认访问

无法从同一个包访问任何修改器(默认修改器) 仅适用于子类,而不适用于子类

是的,它是可访问的,在同一个包中的所有类中没有可访问的修改器(默认修改器)

Modifier    Class   Package Subclass    World
public      Y          Y       Y           Y
protected   Y          Y       Y           N
no modifier Y          Y       N           N
private     Y          N       N           N 

为什么投票被否决?这是一个有效且可回答的问题+1作为部分补偿。>默认值-仅同一软件包(表示同一软件包内的任何类/子类)。您可以检查@var__;以便class1和class2位于不同的包中,如果class2扩展了class1,则无法准确访问默认的修饰符变量/方法?@masood。甚至你也可以试试;)@安德烈霍姆普森谢谢你!所以class1和class2在不同的包中,如果class2扩展了class1,它就不能访问默认的修饰符变量/方法?@masood:是的。问之前你试过了吗?没有。只是来确认一下它的进一步含义。谢谢我接受了
    pkg1;
    class CWithDefAccess{
    }

    pkg1;
    public class anotherclass {
       //can access CWithDefAccess as they are in the same package
    }

    pkg1;
    public class Foo extends CWithDefAccess {
    //can access CWithDefAccess as they are in the same package
    }

    pkg1; 
    public class Baz extends anotherClass{
    //can access CWithDefAccess as they are in the same package
    }