当前位置:网站首页 > Java基础 > 正文

java基础知识总结2



2、程序中包的使用

Java中包的作用是帮助我们管理和组织类,避免类名的冲突。关于包的使用主要内容是package语句和import语句。

(1)package语句

首先注意package语句必需写在.java文件的第一句,并且写在所有类的外面。

例如,将之前得HelloWorld类放入到 p.test.practise包里面;

代码如下:

package p.test.practise;

public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World");
}
}

然后,使用下面的编译命令进行编译,

javac HelloWorld.java

编译成功,在相应的文件夹目录下生成了HelloWorld.class文件,如下图所示

  

然后,使用下面的命令运行HelloWorld.class文件

java HelloWorld

运行结果出现错误,如下图所示,

  

原因在于将HelloWorld类放入了包里面。在将类放入包里面之后,必须使用类的全限定名运行HelloWorld.class文件,

这里,全限定名的写法为包名加类名的写法

所以,执行的命令应为,

java p.test.practise.HelloWorld

运行结果仍然出现错误,如下图所示,

在这里,忘了最重要的一个知识点就是:类的包结构必须和文件夹的结构一样;

所以,应该将HelloWorld.class文件放到 E:exam文件夹里面的p文件夹里面的test文件夹里面的practise文件夹里面才可以,

将HelloWorld.class文件放入到相应的文件夹E:examp estpractise后,

  java基础知识总结2

重新运行上面的命令,运行成功,结果如下图所示,

  

还有需要特别注意的一点是:当前路径必须在.class字节码文件包结构的上层目录,例如,在我的实验中,是E:exam, 否则将会出现错误。

这样做的原因是:在配置classpath环境变量时,classpath环境变量配置为“ . ” ,所以JVM会去当前目录下找.class文件,而JVM只能在.class字节码包结构的上层目录下才能找到。

所以,在运行.class文件时必须以.class字节码文件包结构的上层目录作为上层目录。

另外,也可以使用下面的javac命令的-d选项使得编译器在编译时自动生成和类结构相同的包的目录结构。用法如下:

javac -d 目标目录 .java源文件名

例如,执行下面的命令重新运行HelloWorld.java文件

javac -d . HelloWorld.java

需要注意的是-d和.java源文件名之间的点 “.” , 表示生成的.class文件的包的目录结构放在当前目录下。

运行后可以的到上面运行的同样的结果,如下图所示

  

(2)import语句

使用import语句好像给本类中使用的外面的类提供了一个声明。import语句用于提高代码的清晰度和可读性,减少代码冗余。使用import语句应注意以下几点,

1>import语句必须放在类的外部,且仅能在package语句的后面。

2>如果需要用到某个包下面的多个类时,可以使用“ * ”通配符导入该包下面的所有类。但是,使用“ * ”通配符只能导入该包下面的类,而不能导入该包下面的子包中的 类,例如,

可以使用import java.util.*; 导入util包中的所有类,但是不能导入util子包中的类;

如果需要导入util子包中的类,应该带上子包名,例如,如果要导入util子包logging中中的所有类,import语句应为

import java.util.logging.*;

3>只能用统配符“ * ”导入一个包,而不能导入多个包。例如,不能用import java.*;或者import java.*.*;导入以java开头的所有包。

版权声明


相关文章:

  • java学习笔记与对象基础2024-10-22 08:58:03
  • java数组基础操作2024-10-22 08:58:03
  • java并发基础常见面试题2024-10-22 08:58:03
  • java基础 数据结构2024-10-22 08:58:03
  • net程序设计基础和java2024-10-22 08:58:03
  • java最基础游戏代码2024-10-22 08:58:03
  • java语法基础129讲解2024-10-22 08:58:03
  • 础深入解析java基础2024-10-22 08:58:03
  • java三大平台的基础平台2024-10-22 08:58:03
  • 尚硅谷java基础试题2024-10-22 08:58:03