package

  • 包的 3 个作用如下:
    1.区分相同名称的类。
    2.能够较好地管理大量的类。
    3.控制访问范围。

  • Java 包的命名规则如下:
    1.包名全部由小写字母(多个单词也全部小写)。
    2.如果包名包含多个层次,每个层次用“.”分割。
    3.包名一般由倒置的域名开头,比如 com.baidu,不要有 www。
    4.自定义包不能 java 开头。
    注意:如果在源文件中没有定义包,那么类、接口、枚举和注释类型文件将会被放进一个无名的包中,也称为默认包。在实际企业开发中,通常不会把类定义在默认包下。

  • 所有的Java类都是放在同一个目录下面的,因此类之间的相互调用无需显式声明调用。
    -同一个目录下,两个类的名字不能相同。
    -文件过多,查找和修改都不易,且容易出错。

  • Java支持多个目录放置Java,并且通过package/import/classpath/jar等机制配合使用,可以支持跨目录放置和调用Java类。

-package包和C++中的namespace类似。
-在Java类文件的第一句话给出包的名称。

//cn/edu/ecnu/PackageExample.java
package cn.edu.encu;
public class PackageExample {}

类全称cn.edu.encu.PackageExample,短名称 PackageExample 。

  • 引用类的时候,必须采用全称引用;程序正文可以用短名称。
  • PackageExample.java必须严格放置在cn/edu/ecnu目录下。

-包名 package name尽量唯一。
-域名是唯一的,因此常用域名做包名。
-域名逆序 cn.edu.encu 范围通常从大到小。
-类的完整名字:包名+类名。


import

如果使用不同包中的其它类,需要使用该类的全名(包名+类名)。代码如下:

example.Test test = new example.Test();

其中,example 是包名,Test 是包中的类名,test 是类的对象。

为了简化编程,Java 引入了 import 关键字,import 可以向某个 Java 文件中导入指定包层次下的某个类或全部类。import 语句位于 package 语句之后,类定义之前。一个 Java 源文件只能包含一个 package 语句,但可以包含多个 import 语句。多个import的顺序无关。

使用 import 导入单个类的语法格式如下:

import 包名+类名;

上面语句用于直接导入指定类,例如导入前面的 example.Test 类,代码如下:

import example.Test;

使用 import 语句导入指定包下全部类的用法按如下:

import example.*;

上面 import 语句中的星号(*)只能代表类,不能代表包,表明导入 example 包下的所有类。
提示:使用星号( * )可能会增加编译时间,特别是引入多个大包时,所以明确的导入你想要用到的类是一个好方法,需要注意的是使用星号对运行时间和类的大小没有影响。

通过使用 import 语句可以简化编程,但 import 语句并不是必需的,如果在类里使用其它类的全名,可以不使用 import 语句。
Java 默认为所有源文件导入 java.lang 包下的所有类,因此前面在 Java 程序中使用 String、System 类时都无须使用 import 语句来导入这些类。但对于前面介绍数组时提到的 Arrays 类,其位于 java.util 包下,则必须使用 import 语句来导入该类。


总结:

  • Java通过包(package)来分开类
    -package必须和目录层次一样。

  • Java通过引用(import)来导入类
    -import类尽量准确
    参考资料:
    http://c.biancheng.net/view/6084.html

Java - package和import相关推荐

  1. JAVA - package与import解析(一)

    一.为什么要引入package和import? 这个问题和c++中引入命名空间是一样的,也是为了解决重名问题.java通过包机制来解决重名问题,也就相当于给重名的代码加一系列前缀,从而达到唯一标识的作 ...

  2. Java package 与 import

    有些人写了一阵子 Java,可是对于 Java 的 package 跟 import 还是不太了解.很多人以为原始码 .java 文件中的 import 会让编译器把所 import 的程序通通写到编 ...

  3. java package作用_java import、package作用与用法

    java import.package作用与用法 有些人写了一阵子Java,可是对於Java 的package 跟import 还是不太了解很多人以為原始码 .java 档案中的import 会让编译 ...

  4. java垃圾回收机制_乐字节Java|GC垃圾回收机制、package和import语句

    本文接上一篇:乐字节Java|this关键字.static关键字.block块.本文是接着讲述JavaGC垃圾回收机制.package 和 import语句. 一.GC垃圾回收机制 GC全名:Garb ...

  5. java 同一个package import_【编程基础】Java 中的Package和Import

    开始要逐步去熟悉最基础的语法了,幸好之前是有底子的,所以理解也不难,  import Package 有点类似C语言中的#include [头文件] 为什么要用包(Package) 当一个大型程序交由 ...

  6. JAVA入门级教学之(package和import)

    目录 JAVA入门级教学之(package和import) 1.包又称为package 2.怎么定义package? 3.包名的命名规范: 4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规 ...

  7. 【java基础面向对象】方法的重写、 package和import包、访问控制修饰符,static,final,static final,抽象方法

    目录 1. 方法的重写(override/overriding):重新写.覆盖 2. package和import: 3. 访问控制修饰符:-----------------------保护数据的安全 ...

  8. java基础之package和import语句

    文章目录 前言 一.包(package) 二.import关键字 三 java解释器 注意: 总结 前言 在同一个类中,方法名重复可以利用方法重载,数据成员与参数名重复可以利用this关键字,那么在一 ...

  9. java package报错_Java从入门到精通(一)

    标识符 Java语言中,为各种变量.方法和类等起的名字称为标识符 Java标识符的命名规则: 应以字母.下划线.美元符开头 后跟字母.下划线.美元符或数字 Java标识符大小写敏感,长度无限制 jav ...

最新文章

  1. 比特币源码研读(4)数据结构-交易池TransactionPool
  2. python文件命名可以用中文吗-已经十多年了!你知道 Python 可以用中文命名变量吗?...
  3. centos6 kvm网卡桥接
  4. SQLServer跟踪相关
  5. Mysql CMAKE编译参数详解
  6. 在线编辑word文档 可保存到服务器(转)
  7. POJ 2104 K-th Number 主席树(区间第k大)
  8. 【语音识别】基于matlab GUI拨号语音识别【含Matlab源码 1753期】
  9. 灰色系统理论(Matlab实现)
  10. easyexcel导出excel文件之图片导出
  11. h264 java_Java解码H264格式视频流中的图片
  12. gif转换成jpg,这个方法很简单
  13. spark封神之路(1)-spark简介
  14. android 数组赋值字符串_字符串数组的赋值
  15. MFC+Halcon 真正实现图像缩放、平移
  16. matlab 画阻尼振荡信号及其包络线
  17. 面试真题:经典智力题最详汇总
  18. 计算机视觉技术的基础知识,计算机视觉及导航技术基础.pdf
  19. JS前端取得并解析后台服务器返回的JSON数据的方法
  20. 较快入门postman,使用postman玩转接口测试 一

热门文章

  1. java服务器与客户端项目,Java项目中用于服务器和客户端软件包的共...
  2. springboot的@EnableAutoConfiguration起作用的原理
  3. PhotoshopCS5中将单位修改成百分比
  4. PID控制器开发笔记(转)
  5. python +selenium +chrome/firefox 环境配置
  6. Hibernate双向一对一对象关系模型映射
  7. 4章 关键的“构建”决策
  8. 484个PHP必备的函数集
  9. 多个ORACLE HOME时的程序连接
  10. 性能指标之速率、带宽、吞吐量