对于类(不包括内部类):
只能使用public和(default)来进行修饰。
public修饰:用这个修饰符修饰的类可以被所有其它类进行访问,如果不同包只需要使用import导包语句将这个类导入就可以使用。
(default)修饰:不使用修饰符的类只能被本包中的其它类进行访问,不能被不同包中的类访问。
protected、private不能进行对类的修饰,在idea里面使用编译会报错。
protected:这个修饰符不能修饰类,原因就是这会破坏Java封装的原则。
private:这个修饰符修饰类的时候会让整个类变得没有意义,因为这不能被其它任何类所访问。
对于内部类:
可以被所有修饰符修饰,其作用范围和成员属性、成员方法一致。
对于成员方法、成员属性:
被public修饰:
可以被所有的类进行访问,前提是只要能访问到具备这些属性和方法的类即可。
被protected修饰:
只有不同包的非子类不能访问,其它的类都能访问,前提也是要访到具备这些属性和方法的类。
被(default)修饰:
只能被本包中的类进行访问,不同包的类不能进行访问,前提也是要访问到具备这些属性和方法的类。
被private修饰:
只能在自己的类中进行访问。
注:以上不能访问是指不能直接访问,但是可以通过间接的方式来进行访问。比如将这些不具备访问权限的属性或者方法放入到public修饰的方法中,就能使其被访问到。前提也是只要具备这些的类能被访问到就可以。(为什么一直强调类要被访问到,因为大部分情况下访问这些数据要通过创建具备这些数据的类的对象,在通过对象来调用,但有些不是公共的类在不同的包中是无法访问到的,所以其中的方法或属性自然被什么修饰都没用,在不通包中的类依旧访问不到)