文章目录
包的概念
Java中的"包"即是操作系统的文件夹,声明一个包用package关键字,若存在多个文件夹的嵌套,我们使用"."分隔,
IDEA中创建包的方法
比如我创建的嵌套包名称叫做:
Zhengzhou.Universityof.AeronauticsandAstronautics
下面就是三级嵌套的包:
在操作系统本地打开文件夹,即再次盘上查看这个文件夹的情况
可能有些好兄弟的包的分级显示效果和我不一样,IDEA默认情况下显示如下
需要进行如下操作才使得空包也会分级显示,只选择我选中的选项
包存在的意义
类的全名称就是:包名.类名
1.比如下面我在下最内层包中创建一个Test类
IDEA中最上方会显示类所在的包,类的全名称也就是:
Zhengzhou.Universityof.AeronauticsandAstronautics.Test
2.再在最外层包中创建一个Test类
此时在IDEA上方同样会显示类所在的包,此时类的全名称是:
Zhengzhou.Test
如何导入某个包中的某个类?
我们使用import语句,import语句只能导入相关包中的某个类!!(import导入类)
这里我们在IDEA中只需要在Test类中使用这个类,IDEA就会帮我们自动生成import语句。
在Java中还用很多工具类,下面简单介绍工具类的导入方法
Java的util类
此时的Date表示的是java.util这个包下面的类。
例如,下面我再使用util包下面的LinkedList类,只需要使用imoprt.java.util.*;
但是我们一般不推荐使用 import.*; 因为会有歧义,举个栗子:
因为Date类在 java.sql 包下面和 java.util 包下面共有的,此时我写成如图代码,就会报错,编译器就会懵逼,不知道下面的两个Date类是那个包下面的。
当程序用到了两个类名称相同的类,解决办法
1.使用类的全名称
报错是因为没有生成一个无参构造,这里介绍包,不要介意那些细节~~。
2.import 明确指定导入的是哪个包下面的类
用 import.java.util.Date;
静态导入
概念:使用 import static 语句可以导入包中的静态方法和静态属性
例如下面代码:
package Zhengzhou;
//导入 System 这个类下面的所有静态方法和静态属性
import static java.lang.System.*;
导入 Math 这个类下面的所有静态方法和静态属性
import static java.lang.Math.*;
public class Test {
public static void main(String[] args) {
//类名.属性名称
System.out.println(123);
//导入系统包之后写成如下方式
out.println(123);
//类名方法名称
int ret = Math.max(3,5);
int ret1 = max(3,5);
out.println(ret);
out.println(ret1);
}
}
常见的系统包
包名 | 介绍 |
---|---|
java.lang | JDK的基础类,System,String,Object都在这个包下,JDK1.1之后这个包下的所有类自动导入。 |
java.lang.reflect | 反射开发包 |
java.util | 工具包(集合类都在这个包下,Arrays,LinkedList,HashMap) |
java.io | I/O开发包,文件读取和写入 |
java.net | 网络编程开发包,Socket |
java.sql | 数据库开发用到的包 |
关于包的基础常用知识介绍到这里就差不多结束啦~ 后边会继续更细面向对象编程的知识,未完待续,喜欢的三连走起~~