package的中文意思是“包”,它是一个比较抽象的逻辑概念,其宗旨是把 .java 文件(Java源文件)、.class 文件(编译后的文件)以及其他resource文件(例如.xml文件、.avi文件、.mp3文件、.txt文件等)有条理地进行一个组织,以供使用,它类似于Linux文件系统有一个根,从根开始有目录和文件,然后目录中嵌套目录。

具体而言,package主要有以下两个作用:

  1. 提供多层命名空间,解决命名冲突,通过使用package,使得处于不同package中的类可以存在相同的名字;
  2. 对类按功能进行分类,使项目的组织更加清晰。

当开发一个非常多的类的项目时,如果不使用package对类进行分类,而是把所有类都放在一个package下,这样的代码不仅可读性差,而且可维护性也不好,会严重影响开发效率。

package的用法一般如下(源文件所在目录为当前目录):

  1. 在每个源文件的开头加上"package packagename;",然后源文件所在目录下创建一个新目录,名称为packagename目录;
  2. 用javac指令编译每个sourcename.java源文件,将生成的sourcename.classname文件复制到packagename目录;
  3. 用java指令运行程序:java packagename.sourcename。

以下是一个简单的程序示例:

package com.pkg;
public class TestPackage{public static void main(String[] args){System.out.println("Hello world");}
}
/*
通过运行指令javac -d . TestPackage.java编译代码,会在当前目录下自动生成目录com/pkg,然后通过运行指令java com.pkg.TestPackage执行程序,程序运行结果为:Hello world
*/

【面试题】package有什么作用相关推荐

  1. (33)FPGA面试题附加约束的作用

    1.1 FPGA面试题附加约束的作用 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题附加约束的作用: 5)结束语. 1.1.2 本节引言 "不积 ...

  2. IDEA开发中包(package)的作用

    文章目录 前言 一.package是什么? 二.使用步骤 1.创建一个包 2.包的作用 总结 前言 随着JAVA语言的不断发展,IntelliJ IDEA代码工具的发展也越来越成熟,很多人都开启了In ...

  3. package有什么作用

    package的中文意思是"包" ,它是一个比较抽象的逻辑概念,其宗旨是把.java文件(Java源文件), .class 文件(编译后的文件) 以及其他resource文件(例如 ...

  4. node工程中package.json文件作用是什么?里面的^尖括号和~波浪号是什么意思?

    1.package.json文件的作用是什么? package.json是包的说明文件,主要有以下3个作用: (1)相当于你本地项目的一个文档说明. (2)允许你指定你项目中所使用的node包的版本. ...

  5. 【AI面试题】One-hot的作用,为什么不直接使用数字作为表示

    One-hot主要用来编码类别特征,即采用哑变量(dummy variables)对类别进行编码.它的作用是避免因将类别用数字作为表示而给函数带来抖动.直接使用数字会将人工误差而导致的假设引入到类别特 ...

  6. 什么是抽象类?抽象类的作用_Java面试题amp;和amp;amp;的作用和区别

    点击上方"千锋Java学院",选择"置顶公众号" 每天一道面试模拟真题及解析 课前导读 ●回复"每日一练"获取以前的题目,持续更新! ●我希 ...

  7. java 获取注释_Java面试题Java语言有哪些注释的方式?

    点击上方"千锋Java学院",选择"置顶公众号" 每天一道面试模拟真题及解析 课前导读 ●回复"每日一练"获取以前的题目,持续更新! ●我希 ...

  8. Java面试题(一)100家大公司java笔试题汇总

    Java考试题 一:单选题 -– 1.下列哪一种叙述是正确的(D ) A. abstract修饰符可修饰字段.方法和类 B. 抽象方法的body部分必须用一对大括号{ }包住 C. 声明抽象方法,大括 ...

  9. 100家大公司java笔试题汇总

    NHN CHINA公司笔试题 1.在这写代码 Var array1 = [10,20]; Var array2 = [8,5]; Var result = array1.add(array2); Al ...

最新文章

  1. 狄利克雷卷积_一些狄利克雷卷积性质的证明
  2. SpringBoot中自定义拦截器
  3. jquery div拖动效果示例代码
  4. MongoDB学习笔记(一)环境搭建与常用操作
  5. 自学Java汇报(3)
  6. 通用职责分配软件原则之4-高内聚原则
  7. 判断大小_美人计 | 学会这招大小骨架判断法,我知道自己不是胖了
  8. MySQL---InnoDB引擎隔离级别详解
  9. (10)MySQL触发器(同时操作两张表)
  10. NAT对语音业务的影响(终端控制方案…
  11. 如何启用Domino 8 的ODS磁盘结构
  12. 来的正当时,EnableQ在线问卷调查引擎免费版发布
  13. 【矩阵论总结(5)】常用计算及方法
  14. [唯一分解定理]感谢ZLY讲解
  15. 分享一段可以直接下载新浪微博视频的小程序
  16. 主流计算机硬盘接口是,主流固态硬盘接口有哪些?
  17. DM MPP部署问题
  18. 揭开自动驾驶在机场场景的商业化现状、挑战及趋势
  19. (实用简单版)latex如何书写算法algorithm
  20. SQL查询语句大全(转)

热门文章

  1. Coursera课程自然语言处理(NLP)笔记整理(一)
  2. 4月3日的中九pid,还是3月3日的
  3. 每个人都是从零开始,分享牛逼的前端工程师的牛逼学习方法
  4. Zcash的“十月围城”
  5. SpringMVC拦截器
  6. M OP N数值运算问题
  7. Codeforces 892 A.Greed
  8. NAS存储中如何启用多媒体服务器?
  9. 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡
  10. 这个春节,小灰收到一件不寻常的礼物