Java的四种访问权限如下:

1. public(公有的):公有成员可以被任何类和方法访问,不受访问限制。在Java中,一个类只能有一个public类,且与文件名一致。
2. protected(受保护的):被保护的成员可以被继承子类或者同一包中的其他类访问,但不能被其他类访问。
3. default(默认的):如果没有设置任何访问权限应用程序,成员默认为包级访问权限,可以被同一包中的所有类访问,但不能被其他包中的类访问。
4. private(私有的):私有成员只能在定义该成员的类中访问,其他任何类都无法访问。
这些访问权限的控制是通过在类、成员变量和成员方法前面使用public、protected、default或private修饰符来设置的。这种访问权限限制可以帮助程序员隐藏实现细节,提高代码的安全性和可读性。
下面是一个关于Java访问权限的示例代码:
// Person.java
public class Person {
public String name; // public成员变量
protected int age; // protected成员变量
int height; // 默认访问权限,等价于package private
private String id; // private成员变量
// 无参构造函数
public Person() {
this.name = "未知";
this.age = 0;
this.height = 0;
this.id = "";
}
// 有参构造函数
public Person(String name, int age, int height, String id) {
this.name = name;
this.age = age;
this.height = height;
this.id = id;
}
// public方法,可以被其他任何类访问
public void introduce() {
System.out.println("我叫" + this.name + ",今年" + this.age + "岁,身高是" + this.height + "cm,ID是" + this.id);
}
// protected方法,可以被本类、同包子类及其他包子类访问
protected void growUp() {
this.age++;
System.out.println("我长大了一岁");
}
// 默认访问权限,可以被本类和同包其他类访问
void changeHeight(int height) {
this.height = height;
System.out.println("我的身高变成了" + this.height + "cm");
}
// private方法,只能被本类访问
private void changeId(String id) {
this.id = id;
System.out.println("我的ID变成了" + this.id);
}
}在上面的代码示例中,我们定义了一个名为Person的类,在类中定义了四个访问权限不同的成员变量和四个访问权限不同的成员方法,分别演示了四种不同的访问权限的使用方法。
