原创

一张图帮你永远记住java中private、protected、public和default的区别

记忆方法:面试的时候只需要在纸上画出 横坐标 类,包,子类,外包,再画出纵坐标public,protected,default,private

然后从右上角拉一条斜线到左下角,就可以了,如图红线左边表示可见,红线右边则不可见,再也不拍被人问到了;

具体含义如下:

public:

具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。

protected:

主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西

default:

有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。

private:

访问权限仅限于类的内部,是一种封装的体现,例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。

原创

评论