java访问权限控制

时间:2022-03-19 09:58:42

类访问权限

1.public 与 default(包访问权限)。

2.每个编译单元只能有一个public类,可以有几个default类。

3.为何没有private、protected访问权限:有内部类。

private 构造器

原因:可以阻止其他人创建该类的对像

可以在该类的static成员内部创建类,其他人只能通过该类的static方法获得指定类的对象。

代码 test1:

public class TestClass {
    public static void main(String[] args) {
        User user = User.getUser();
    }

}

class User {
    private User() {

    }

    public static User getUser() {
        return new User();
    }

}

代码 test2:

public class TestClass {
    public static void main(String[] args) {
        User user = User.getUser();
    }

}

class User {
    private User() {

    }
    private static User user = new User();
    public static User getUser() {
        return user;
    }

}

这种方式可以可以指定带类的实例对象。

一般使用test2方式,test使用了 singleton(单例) 的设计模式

成员变量与成员方法访问权限

范围 \权限 public protected default(包访问权限) private
同包同类
同包不同类 ×
不同包的子类(继承) × ×
不同包的非 × × ×