在Java中,类的访问修饰符有四种:public、protected、默认(无修饰符)和private。方法的访问修饰符也有四种:public、protected、默认(无修饰符)和private。这些修饰符决定了类和方法的可见性。
-
public:当一个类或方法被声明为public时,它可以在同一个包中的其他类访问,也可以在不同包中的其他类访问。这是最宽泛的访问权限。
-
protected:当一个类或方法被声明为protected时,它可以在同一个包中的其他类访问,也可以在不同包中的子类访问。这是限制访问权限的一种方式。
-
默认(无修饰符):当一个类或方法没有使用任何访问修饰符时,它的访问权限为默认。这意味着它只能在同一个包中的其他类访问。
-
private:当一个类或方法被声明为private时,它只能在声明它的类内部访问,不能在同一个包中的其他类或不同包中的类访问。这是最严格的访问权限。
以下是一个简单的示例,展示了如何定义和使用具有不同访问修饰符的类和方法:
// 文件名:AccessModifiersExample.java package com.example; public class AccessModifiersExample { // public变量可以在任何地方访问 public int publicVar = 10; // protected变量可以在同一个包中的其他类或不同包中的子类访问 protected int protectedVar = 20; // 默认(无修饰符)变量只能在同一个包中的其他类访问 int defaultVar = 30; // private变量只能在声明它的类内部访问 private int privateVar = 40; // public方法可以在任何地方访问 public void publicMethod() { System.out.println("This is a public method."); } // protected方法可以在同一个包中的其他类或不同包中的子类访问 protected void protectedMethod() { System.out.println("This is a protected method."); } // 默认(无修饰符)方法只能在同一个包中的其他类访问 void defaultMethod() { System.out.println("This is a default method."); } // private方法只能在声明它的类内部访问 private void privateMethod() { System.out.println("This is a private method."); } }
在这个示例中,我们定义了一个名为AccessModifiersExample
的类,其中包含了具有不同访问修饰符的变量和方法。要访问这些变量和方法,你需要创建一个AccessModifiersExample
类的实例,并调用相应的方法。