再谈JAVA

本文详细介绍了Java中包的概念和作用,包括包的创建、类的导入方式、静态导入的使用,以及如何将类放入包中。同时,还探讨了包的作用域、类路径设置,以及如何使类在多个程序间共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


包的存在可以将自己的到代码方便的管理,将代码与其他人的代码区分开来。标准Java类分布在多个包中,包是一个层次结构。与硬盘一样,可以使用嵌套的层次结构。使用包的主要原因是确保类名的唯一性,两个包中相同类名互不影响,嵌套的两个包毫无关系,每一个都有自己独立的类集合
类的导入
一个类可以使用所属包中所有的类,以及其他包中的公共类,使用其他包中类有两种方法,一种是类名前加上报名,另外一种方法是在程序之前加上import关键字。这种方法可以导入一个包中所有的类也可以导入包中一个特定的类。” * “只能导入一个包,不能导入好多包。在大多数情况下,只需要导入所需要包,但是有的包具有重名的类,这个时候就需要具体到哪一个包。
静态导入
可以直接将静态方法和静态域导出,但是前提需要代码保持清晰度。
将类放入包中
要想将一个类放入包中应该在定义代码之前加入package关键字,如果没有这个关键字那么源文件放置在默认包中。package语句将所有的源文件放在这个语句 之后的子目录中。编译器将类文件也放在相同的目录结构中。
包作用域
前面已经接触过public和private,public可以被任意类使用,但是private只能被自己的类使用,如果没有被这两个修饰符指定,这个部分可以被同一个包中所有方法访问。
类路径
类文件储存在文件系统的子目录中。类的路径必须与包名匹配。另外,类文件和子目录也可以储存在JAR文件中。
怎样使类能够被多个程序共享。

  1. 把类放到一个目录中,这个目录是树状结构。
  2. 将JAR放到一个目录中
  3. 设置类路径,类路径是所有包含类文件的路径集合。在UNIX中,不能使用 * ,防止shell命令进一步扩展。由于运行时库文件会被自动的搜索,所以没有必要显示的列在类路径中。

类路径所列出的目录和归档文件是搜寻类的起点
虚拟机要想搜寻类文件首先查看归档文件所存放的系统文件,再查看类路径
编译器定位文件,如果引用了一个类,那么他首先从import查找这个包,对这个类路径所有位置中所列出的每一个类进行逐一查看。如果找到一个以上的类就会产生错误。还得查看源文件是否比类文件新,否则重新编译。一个源文件仅仅包含一个公有类所以很容易找出公有类的源文件,当然也可以导出非共有类。如果当前包中导入一个类,编译器就要搜索当前包中所有的源文件。
设置类路径
采用-classpath或-cp选项指定类路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值