Java private keyword

2025年2月22日 | 阅读 3 分钟

Java 的 private 关键字是一个访问修饰符。它可以用于变量、方法和内部类。它是最严格的访问修饰符。

注意事项

  • private 访问修饰符只能在同一类内访问。
  • 我们不能将 private 用于外部类和接口。
  • private 关键字的最佳用途是,通过将类的所有数据成员设为 private 来创建一个完全封装的类。
  • 如果我们使任何类的构造函数私有,我们将无法在类外部创建该类的实例。
  • 如果我们重写任何方法,被重写的方法(即在子类中声明的方法)不得比父类的方法更严格。
  • 根据上一条,如果我们为任何方法或变量分配 private 修饰符,则可以使用所有类型的访问修饰符在子类中重写该方法或变量。但是,我们仍然无法在类外部调用 private 方法。

private 关键字的示例

示例 1

让我们看一个示例,以确定 private 变量是否可以访问,以及它是否可以在类外部访问。

输出

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The field A.msg is not visible

示例 2

让我们看一个示例,以确定 private 方法是否可以访问,以及它是否可以在类外部访问。

输出

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The method display() from the type A is not visible

示例 3

让我们看一个示例,以确定我们是否可以将 private 修饰符用于外部类。

输出

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 

示例 4

在上面的示例中,我们了解到 private 方法不能在类外部调用。在这里,我们通过改变类的运行时行为,在类外部调用了 private 方法。

输出

private method is invoked

示例 5

让我们看一个示例,以确定我们是否可以在类外部创建 private 构造函数的实例。

输出

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The constructor A(String) is not visible

示例 6

在此示例中,使用默认访问修饰符将 private 方法重写到子类中。但是,我们仍然不允许从子类调用父类的方法。

输出

child class method

示例 7

让我们通过一个示例了解 private 关键字的实际用途。

输出

101 John William 25