Java访问控制
1.包的概念
1.1package语句:在Java中,如果光用类名作为类的唯一标示,,可能会发生命名冲突问题,这会给组件复用和团队合作造成很大的麻烦。Java中,可以用包的概念解决。例如
由上图得:在第一行通过通过 package + 包名;使底下的类在名字为test的包中,从而使类名的全称是test.Point
在Java中,一般使用多层次的报名体系结构,如图下:
从而使更好的避免了命名冲突问题,但是其不能完全避免明明冲突问题,因而在Java开发过程中,形成了一定的规范,如图下:
其中,,StringUtil是类名,org.apache.commons.lang是多层包名,其含义如下:org.apache表示公司或组织的信息(是这个公司或组织域名的反写);commons表示项目的名称信息;lang表示模块的名称信息
1.2import语句
为了避免命名冲突,声明类的时候同时制定了包名,因此再使用类时,如图下:
这样写比较麻烦,因此,需要通过import 语句在程序开头进行声明,如图下:
从而要使用这个类时,只要用类名就可以了
同时还可以通过
表示声明了这个包中所有的类,注意:其中不包括这个子包中的类
1.3public和private
public:表示通过public修饰的成员与方法可以再任何地方调用
private:表示对内封装,只能被类内访问 如图下:
由上图得:在地12行会发生编译错误,因为x被private修饰,只能在类内访问
1.4默认访问控制和protected
默认访问控制:在能在包内使用
protected:能在包内和子类内使用
1.5访问控制符修饰成员总结包括(public private protected 默认访问控制)如图下: