- 访问权限类型:
在JAVA中,类的访问权限包括了***public***和***无关键字***,其中public为公共访问,而无关键字为默认权限。而类成员的访问权限包括了pulic,protected,private和无关键字。
与C++相比,JAVA中类成员的访问权限没有friend. - 这些访问权限控制符的区别
在这里我给大家放一张图。
这里我们可以将其形象化,加入A是C,D的父亲,B和C是A的同事,E是对他们来说的陌生人。
然后我们可以看到相关的信息:
对B来说:可以访问到A的public v1,可以访问到B的protected的v2,可以访问到无关键词的v3,但是无法访问到private的v4。
对C来说:可以访问到A的public v1,可以访问到B的protected的v2,可以访问到无关键词的v3,但是无法访问到private的v4。
对D来说:可以访问到A的public v1,可以访问到B的protected的v2,但是不可以访问到无关键词的v3,也无法访问到private的v4。
对E来说:可以访问到A的public v1,但不可以访问到B的protected的v2,也不可以访问到无关键词的v3,同样无法访问到private的v4。
这使我们有的考虑:
对于public的内容,无论有没有关系都可以进行访问。
对于private的内容,只有自己才能访问。
对于无关键词的内容,只有自己的子孙才能访问。
对于protected的内容,只要是有关系的类都能访问。(即子孙或者在同一个包里)。