1. 包
1.1 包的概念
想象一下,你和你的同学们来自不同的家庭,每个家庭都有自己的生活方式和空间。如果这些家庭都住在同一个屋檐下,那么个人的习惯和空间就会相互干扰。同理,在软件开发中,不同的程序也需要有各自的“空间”以保持独立性,这就是包(Package)的作用。包可以被看作是一组文件夹,它们允许在不同的文件夹中存在同名的文件,从而实现隔离。
1.2 包的功能
包(Package)是一种将类和接口组织在一起的机制,具有以下主要功能:
-
命名空间管理
包提供了命名空间管理的功能,避免了类名的冲突。通过将类分配到不同的包中,可以确保每个类名的唯一性。例如,不同的项目中可能都存在名为Logger的类,但通过分配到不同的包中,可以避免命名上的冲突。 -
访问控制
包还提供了访问控制的功能。通过使用不同的访问修饰符(如public、protected、默认(无修饰符)和private),可以控制类、方法和变量的可见性。例如,一个类的成员可以对同一包中的其他类可见,但对其他包中的类则不可见。 -
代码组织
包有助于将相关的类和接口组织在一起,使代码更易于管理和维护。通常,一个包会包含一组功能相似或相关的类和接口。例如,java.util包包含了多种实用工具类,如List、Map、Set等。
1.3 src文件夹
src
文件夹(或目录)是“source”的缩写,用于存放项目的源代码文件。这个文件夹是项目的核心部分,包含了所有的业务逻辑、类定义、函数实现等代码文件。
项目的标准目录结构如下:
子文件夹组织:src
文件夹通常会进一步细分为多个子文件夹,以更好地组织代码。例如:
main/java
:存放主要的Java源代码文件。main/resources
:存放资源文件,如配置文件、静态文件等。test/java
:存放测试代码文件。test/resources
:存放测试资源文件。
1.4 创建包
包是在src
文件夹下创建的。
接着创建包
包名通常是小写的,并且通常使用公司域名的逆序来命名,以确保全局唯一性。
将图片中的package_name
更改为:com.example.myapp
这个包名com.examplemyapp
是一个文件的名字吗?
我们来看一下src
文件夹中是否有com.example.myapp
文件。
在src
文件夹中只有com文件夹,没有com.example.myapp
文件。其实.
将包的名字分隔成了三个嵌套的文件夹。
在com.example.myapp
文件夹中创建Myclass
类。
在Java源文件的顶部,使用package关键字来指定包名。
目前该包的目录结构为:
2. 导包
2.1 导包的概念
“导包”指的是使用import语句将一个类或接口从一个包中引入到当前的编译单元中,以便在代码中可以直接使用这些类或接口,而不需要每次都写完整的类名或接口名。
导包的作用包括:
-
简化代码:
导包可以让你在代码中直接使用类或接口的简单名称,而不是完整的类名或接口名。这使得代码更简洁、易读。例如,java.util.ArrayList可以简化为ArrayList。 -
避免命名冲突:
当两个不同的包中有同名的类或接口时,通过导包可以明确指定你使用的是哪个包中的类或接口。例如,java.util.Date和java.sql.Date都有Date类,通过导包可以区分它们。
2.2 导包的语法
导入单个类或接口:
import package_name.ClassName;
package_name
:包的名称。ClassName
:类的名字。
导入整个包中的所有类和接口:
import package_name.*;
package_name
:包的名称。*
:表示该包下的所有类。
静态导入(Java 5 及以上):
静态导入允许你直接使用类中的静态成员(如静态方法和静态字段),而不需要类
文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/4523.html