访问控制权限有哪些?
private 私有的
protected受保护的
public公共的
默认
以上4个访问控制权限:控制范围是什么?

private 表示私有的,只能在本类中访问
public 表示公开的,在哪里都可以访问
public class User {
//私有的 只能在本类中访问
private String name;
//受保护的
protected int age;
//公共的
public int id;
}
class test {
public static void main(String[] args) {
User user = new User();
//error:name 在 User 中是 private 访问控制
System.out.println(user.name);
System.out.println(user.age);
System.out.println(user.id);
}
}
报错信息:

protected 表示只能在本类、同包、子类中访问。
默认的表示只能在本类,以及同包下访问。
package com.wcs.test;
public class User {
//受保护的
protected int age;
//公共的
public int id;
//默认的
String name;
}
import com.wcs.test.User;
public class Test {
public static void main(String[] args) {
User user = new User();
//error:java: age 在 com.wcs.test.User 中是 protected 访问控制
System.out.println(user.age);
System.out.println(user.id);
//error:java: name在com.wcs.test.User中不是公共的; 无法从外部程序包中对其进行访问
System.out.println(user.name);
}
}
报错信息:


访问控制权限修饰符可以修饰什么?
属性(4个都能用)
方法(4个都能用)
类(public和默认能用,其他不行)
接口(public和默认能用,其他不行)