在 Java 类中定义 `package private` 访问修饰符

Posted

技术标签:

【中文标题】在 Java 类中定义 `package private` 访问修饰符【英文标题】:Define `package private` access modifier in Java class 【发布时间】:2016-04-08 22:10:57 【问题描述】:

我想在 Java 中定义 package private 访问修饰符,但编译器不同意这样:

    package private Name;

我需要怎么做? 谢谢!

【问题讨论】:

什么意思?你想达到什么目的? 包没有访问修饰符。 您是指将包设为私有还是将某些内容设为“包私有”? 可能重复***.com/questions/5416074/… 【参考方案1】:

Java 中的“包私有”或“默认”可见性修饰符是通过省略可见性修饰符(而不是类型)来实现的。即

String name;            // package private or default
public String name;
private String name;
protected String name;

【讨论】:

【参考方案2】:

您无法使用访问级别修饰符定义包。包是相关类的命名组。

您混淆了私有包这个术语。如果您查看 java 文档,您会看到 package private 词用于表示默认或无修饰符。这意味着没有任何修饰符的类或任何成员将仅在内部可见自己的包。

可以参考javadocs。

【讨论】:

以上是关于在 Java 类中定义 `package private` 访问修饰符的主要内容,如果未能解决你的问题,请参考以下文章

java 项目包名(package)命名规则

封装,最终修饰符

Java知识点总结

Java的包机制

java中哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?

方法“转换”未在超类中定义