Java小白入门到实战应用教程-包package
前言
在前面我们很多的例子中基本上都是在一个类文件(java文件)中实现的,但是在我们真实开发中要实现的功能业务很多,代码也很多,所以为了让项目源码进行模块化管理、结构化管理,Java中提出包的概念。
正文
概念
定义:包是Java提供的一种区别类的名字空间的机制,一个包下是一组相关类和接口的集合。似于文件系统中的目录结构,用于将功能相近的类放在一起。
作用:包为开发者提供了一种逻辑分组的方式,可以方便查找与使用相关的类和接口,同时避免命名冲突,因为在不同的包中可以存在同名的类,提高代码的可维护性和安全性。
命名规则
包名通常全部由小写字母组成,可以使用点 . 分隔符来表示包的层级关系,一般遵循“域名倒置”的命名方式,例如com.example.myapp
在命名包时,应避免使用与java本身包名冲突的名称,如java.lang等。也要避免使用java本身的关键字。如package、class、int等等。
创建包
在idea中创建一个包
我们新建一个package,然后输入包路径为:com.example.pack ,然后回车进行创建。就可以创建一个多层的目录结构。
创建的包的效果如下:
包的使用
package关键字
我们在前面提到了,包的作用就是在项目中存放同一作用关联的类和接口的。所以我们可以在这个包路径下创建一个类,取名为PackDemo
package com.example.pack;
public class PackDemo {
}
创建的java文件中,idea自动帮助我们生成了这样几句代码。
其中第一行:package com.example.pack;是用来说明当前类文件位于com.example.pack包下的。
这是java的规范,在Java源文件的开头使用package
关键字来声明它所属的包。
import关键字
在前面类和对象的章节中,我们最后定义了一个Dog类,然后是在Dog类中的main函数中去创建并应用的Dog对象。
那我们今天学了包的知识点后,我们修改一下之前的代码逻辑,在PackDemo类中去创建并使用Dog对象。
先新增一个包路径:com.example.dog,在com.example.dog包下创建Dog类:
package com.example.dog;
public class Dog {
String name;
int age;
public Dog(String name, int age) {
this.name = name;
this.age = age;
}
public void say(){
System.out.println(this.name + " 汪汪");
}
public void eat(){
System.out.println(this.name + " 吃了一个鸡腿~");
}
}
然后在PackDemo类中新增main函数,然后创建Dog对象,并调用Dog对象的方法:
package com.example.pack;
import com.example.dog.Dog;
public class PackDemo {
public static void main(String[] args) {
Dog gouSheng = new Dog("狗剩",1);
gouSheng.say();
gouSheng.eat();
}
}
我们看到上面的代码中多了一行我们没有见过的代码:import com.example.dog.Dog;
这是因为当需要使用其他包中的类时,需要使用import
关键字先导入。
如果我们需要使用一个包下的很多类,则可以使用通配符:*,比如:import com.example.dog.*
。但请注意,使用通配符并不意味着将包内的所有类都导入到当前命名空间中,而是按需加载。
常用的JDK中的包
Java标准库(JDK)提供了许多常用的包,以下是一些常见的包及其功能:
- java.lang:包含Java语言的核心类,如
Object
、String
、Thread
等,这个包是自动导入的。 - java.util:包含集合框架(如List、Set、Map等)、时间处理、随机数生成、国际化等实用工具类。
- java.io:包含提供输入/输出功能的类,如文件读写、流处理等。
- java.net:包含执行与网络相关的类,如URL处理、Socket编程等。
- java.awt:提供构建图形用户界面(GUI)的类,如窗口、按钮、文本框等组件。
- java.sql:提供使用Java编程语言访问并处理存储在数据源(如关系数据库)中的数据的API。