Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误和异常

Java 多线程

Java 同步

Java 网络

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类参考

Java 有用资源

Java - private 关键字



Java 提供了许多访问修饰符来设置类、变量、方法和构造函数的访问级别。这四个访问级别是:

  • 对包可见,默认值。不需要修饰符。

  • 仅对类可见(私有)。

  • 对全世界可见(公共)。

  • 对包和所有子类可见(受保护)。

访问控制和继承

强制执行以下继承方法规则:

  • 在超类中声明为公共的方法也必须在所有子类中为公共的。

  • 在超类中声明为受保护的方法必须在子类中为受保护或公共的;它们不能是私有的。

  • 私有方法根本不会被继承,因此没有关于它们的规则。

私有访问修饰符 - 私有

声明为私有的方法、变量和构造函数只能在声明的类本身中访问。

私有访问修饰符是最严格的访问级别。类和接口不能是私有的。

如果类中存在公共 getter 方法,则可以在类外部访问声明为私有的变量。

使用私有修饰符是对象封装自身并隐藏外部世界数据的主要方法。

示例

以下类使用私有访问控制。我们使用了如下所示的私有字段:

package com.tutorialspoint;

public class JavaTester {

   private String format;

   public String getFormat() {
      return this.format;
   }

   public void setFormat(String format) {
      this.format = format;
   } 

   public void print() {
      System.out.println(this.format);
   }

   public static void main(String args[]) {
      JavaTester tester = new JavaTester();
      tester.setFormat("XML");
      tester.print();
   }	   
}

输出

XML

这里,Logger 类的 format 变量是私有的,因此其他类无法直接检索或设置其值。

因此,为了使此变量可用于外部世界,我们定义了两个公共方法:getFormat(),它返回 format 的值,以及 setFormat(String),它设置其值。

以下是私有访问标识符的另一个示例。我们在超类中定义了一个私有字段。如果字段/方法是私有的,则子类无法继承它。

示例

package com.tutorialspoint;

class Logger {
   private String format;

   public String getFormat() {
      return this.format;
   }

   public void setFormat(String format) {
      this.format = format;
   } 

   public void print() {
      System.out.println(this.format);
   }
}

public class JavaTester extends Logger {   
   public static void main(String args[]) {
      JavaTester tester = new JavaTester();

      tester.setFormat("XML");
      tester.print();
   }	   
}

输出

XML
java_basic_syntax.htm
广告