java包和导入和类路径,lesson09Java包和导入和类路径.ppt

本文详细介绍了Java中包(package)、导入(import)和类路径(classpath)的概念及其作用。包用于组织类,避免命名冲突,通过import引入所需类。类路径指定查找类的位置,可以通过classpath参数设置。在Windows和Linux平台,类路径分隔符不同。在编译和运行Java程序时,需确保所有依赖的类路径正确。
摘要由CSDN通过智能技术生成

Java 程序设计 第九讲 包、导入和类路径 华东师范大学 陈良育 * Outline package import classpath jar * package/import(1) 所有的Java类都是放置在同一个目录下面的,因此类之间的相互调用无需显式声明调用。 同一个目录下,两个类的名字不能相同 文件过多,查找和修改都不易,且容易出错。 Java支持多个目录放置Java,并且通过package/import/classpath/jar等机制配合使用,可以支持多处地方放置和调用Java类。 package/import(2) package 包 在Java类文件的第一句话给出包的名称 package cn.edu.ecnu; public class PackageExample {} 类的全称cn.edu.ecnu.PackageExample 在引用类的时候,必须采用全称 PackageExample.java必须严格放置在cn/edu/ecnu目录下 package/import(2) 包名 package name必须唯一 域名是唯一的,因此常用域名做包名 域名逆序:cn.edu.ecnu,从大到小 类的完整名字:包名+类名 包名:和目录层次一样 但是包具体放在什么位置不重要,编译和运行的时候再指定。 package/import(3) 在PackageExampleTest.java中,我们可用import关键字来引入PackageExample类 //PackageExampleTest.java import cn.edu.ecnu.PackageExample; // 必须写类的全称 public class PackageExampleTest {…main函数,参见代码…} package/import(4) cn.edu.ecnu.PackageExample的上级目录依次是ecnu,edu,cn。 而再上层的路径,将会在类运行的时候依靠classpath参数来决定。Java将依靠这个环境变量的指引去寻找合适所需要的类 java PackageExampleTest java –classpath .;c:\temp PackageExampleTest package/import(5) java –classpath .;c:\temp PackageExampleTest Java,执行命令,是java.exe的简写。 -classpath 固定格式参数,可以简写成-cp. 第三部分是一个(以分号连接起来的)字符串。以分号作为分隔符隔开,得到一个个子路径。当运行PackageExampleTest类的过程中,如果需要用到其他的类,就会分裂第三部分的字符串,得到多个子路径,然后依次在每个路径下,再去寻找相应类(全称,包名以点隔开对应到目录)。 主执行类的全称(含包名) package/import(6) 类名(全称) 文件名 文件全路径 A.B.C C.java C:\m1\A\B\C.java D.E.F(引用了A.B.C) F.java d:\m2\D\E\F.java G.H(引用了D.E.F,没有直接但是间接引用了A.B.C,因此仍然需要给出A.B.C的路径) G.H E:\m3\G\H.java A.B.C 编译 X>javac c:\m1\A\B\C.java 运行 X>java –classpath .;c:\m1 A.B.C D.E.F 编译 X>javac –classpath .;c:\m1 d:\m2\D\E\F.java 运行 X>java –classpath .;c:\m1;d:\m2 D.E.F G.H 编译 X>javac –classpath .;c:\m1;d:\m2 e:\m3\G\H.java 运行 X>java –classpath .;c:\m1;d:\m2;e:\m3 G.H Javac对应的是java.exe 编译命令,java对应java.exe 运行命令 package/import(7) package规则 编译一个类,需要java文件的全路径,包括扩展名。运行一个类,需要写类名全称(不是文件路径),也不能写扩展名。 编译类的时候,需要给出这个类所调用的类(包括被调用类所依赖的类)的所在路径。运行类的时候,需要给出这个类,以及被调用类的路径总和。 classpath的参数在Windows平台是以半角分号隔开;在Linux平台是以半角冒号隔开。 package/import(8) Package规则(续) Classpath参数可以是路径,也可以是jar包(参见下面的Jar节)。如果路径内有空格,请将classpath参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值