Java包名与包路径

本文详细介绍了Java包的概念和使用,强调了包名必须在源文件中通过package语句指定,而不能仅依赖目录结构。同时,解释了静态导入importstatic的功能,它可以用来直接引用类的静态成员,简化代码。文章还提醒开发者遵循包命名规范,如使用公司域名倒写,并指出父包和子包在逻辑上有关系,但在使用时需要全名引用。
摘要由CSDN通过智能技术生成
很多初学者以为只要把生成的class文件放在某个目录下,这个目录名就成了这个类的包名。这是一个错误的看法,不是有了目录 结构,就等于有了包名。为Java类添加包必须在Java源文件中通过 package语句指定,单靠目录名是没法指定的。Java的包机制需要两 个方面保证:① 源文件里使用package语句指定包名;② class文 件必须放在对应的路径下
Java允许将一组功能相关的类放在同一个package下,从而组成逻辑上的类库单元。如果希望把一个类放在指定的包结构下,应该在 Java源程序的第一个非注释行放置如下格式的代码:
package packagename;

Java语法只要求包名是有效的标识符即可,但从可读性规范角度来看,包名应该全部是小写字母,而且应该由一个或多个有意义的单 词连缀而成。 当系统越来越大时,是否会发生包名、类名同时重复的情形呢? 这个可能性不大,但在实际开发中,还是应该选择合适的包名,用以 更好地组织系统中类库。为了避免不同公司之间类名的重复,Oracle 建议使用公司Internet域名倒写来作为包名,例如公司的Internet域 名是crazyit.org,则该公司的所有类都建议放在org.crazyit包及其 子包下.
父包和子包之间确实表示了某种内在的逻辑关系,例如前面介 的org.crazyit.elearnging
父包 org.crazyit.elearning.student子包,确实可以表明后者是前者的 一个模块。但父包和子包在用法上则不存在任何关系,如果父包中 的类需要使用子包中的类,则必须使用子包的全名,而不能省略父 包部分。
JDK 1.5以后更是增加了一种静态导入的语法,它用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。 静态导入使用import static语句,静态导入也有两种语法,分别 用于导入指定类的单个静态成员变量、方法和全部静态成员变量、方 法,其中导入指定类的单个静态成员变量、方法的语法格式如下:

上 面 语 法 导 入 package.subpackage...ClassName 类 中 名 为fieldName的静态成员变量或者名为methodName的静态方法。例如,可 以 使 用 import static java.lang.System.out; 语 句 来 导 入 java.lang.System类的out静态成员变量。 导入指定类的全部静态成员变量、方法的语法格式如下:

所谓静态成员变量、静态方法其实就是前面介绍的类变量、类方法,它们都需要使用static修饰,而static在很多地方都被翻译为静 态,因此import static也就被翻译成了“静态导入”。其实完全可以 抛开这个翻译,用一句话来归纳import和import static的作用:使用 import可以省略写包名;而使用import static则可以连类名都省略。

 

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值