Java面向对象_封装思想——package语句

Posted sunNoI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象_封装思想——package语句相关的知识,希望对你有一定的参考价值。

2018-04-30

 

package语句

 

一、package关键字

  为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

  包的作用: 

    1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

    2.如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

    3.包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

  java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

 

  包语句语法格式:package 包名.字包名.子子包名

  必须把该语句作为java文件中第一行代码(所有代码之前。)

 

二、package实践用法

  1. 包名如何定义

      Java的包名都有小写单词组成,类名首字母大写;包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类。以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现。

 

     由于Java面向对象的特性,每名Java开发人员都可以编写属于自己的Java Package,为了保障每个Java Package命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司在互联网上的域名称作为自己程序包的唯一前缀。例如: com.sun.swt.……。

 

     从而,我们知道,一般公司命名为“com.公司名.项目名.模块名....”。

      那,我们个人的项目又怎么命名呢?

      经过我对“个人的”单词搜索,有“individual、personal、private、one-man”,进一步对以上4个单词词意的分析,并在保证了唯一性,使用每个单词的前4个字母作为前缀,正好和“com”也做了区分。如下:

      indi :

           个体项目,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者。

           包名为“indi.发起者名.项目名.模块名.……”。

 

      pers :

           个人项目,指个人发起,独自完成,可分享的项目,copyright主要属于个人。

           包名为“pers.个人名.项目名.模块名.……”。

 

      priv :

           私有项目,指个人发起,独自完成,非公开的私人使用的项目,copyright属于个人。

           包名为“priv.个人名.项目名.模块名.……”。

 

      onem :

           与“indi”相同,推荐使用“indi”。

 

    ------------------------------------------------------------

      另外,我为了区分团队项目和前面所说项目的区分,还有了一下扩展:

 

      team :

           团队项目,指由团队发起,并由该团队开发的项目,copyright属于该团队所有。

           包名为“team.团队名.项目名.模块名.……”。

 

      com :

           公司项目,copyright由项目发起的公司所有。

           包名为“com.公司名.项目名.模块名.……”。

 

   

    

  

  2.java(jdk)中的包名

  

 

  重点掌握这几种:

  

 

 

 

    

 

    

 

以上是关于Java面向对象_封装思想——package语句的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象_封装思想——this关键字

Java面向对象_封装思想——访问修饰符

Java面向对象_封装思想——import关键字

Java面向对象_封装思想——构造器和setter方法选用

面向对象的Java实现

Java学习日记 week3 面向对象2:封装,继承,多态