在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
类的实例,并调用相应的方法。