Java包(package)

包的基本概念

为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

包的作用

  • 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  • 如同文件夹一样,包也采用了属性目录的存储方式。同一个包中的类名字是不同的包中的类是可以想用的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
  • 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

例:包的定义

package 包名称.子包名称;

创建包

创建包的时候,你需要为这个包去取一个合适的名字。之后,如果其他的一个源文件包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个包的声明放在这个源文件的开头。

包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。

如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包中。

例:实例

package charjava; // 定义一个包

class Demo { // 定义Demo类
    public String getInfo() { // 返回信息
        return "Hello World!"; 
    }
}
public class java23 {
    public static void main(String[] args) {
        System.out.println(new Demo().getInfo()); // 实例化本包对象
    }
}

 import语句

两个类是存放在同一个包中的,因此代码与之前没有什么根本的不同,但是如果几个类存放不同的包中,则在使用类的时候就必须通过import语句导入。

例:类的导入

import 包名称.子包名称.类名称     // 手动导入所需要的类 

import 包名称.子包名称.*;  // 由JVM自动加载所需要的类

例:定义java1.One类

package Demo;

public class One {
    public String getInfo() {
        return "Hello World!";
    }
}

 例:在另外一个类中引用One类

package charjava;
import Demo.One;
public class java24 {
    public static void main(String[] args) {
        System.out.println(new One().getInfo());
    }
}

系统常见包

在JDK中为了方便用户开发程序,提供了大量的系统功能包。

序号包名称作用
1java.lang此包为基本的包,像String这样的类就都保存在此包中,在JDK1.0D的时候如果相编写程序,则必须手工导入此包,但是随后的JDK解决了此问题,所以此包现在为自动导入
2java.lang.reflect此包为反射机制的包,是java.lang的子包,在Java反射机制中将会为读者介绍
3java.util此包为工具包,一些常用的类库、日期操作等都在此包之中,如果把此包掌握精通各种设计思路都好理解
4java.text提供了一些文本的处理类库
5java.sql数据库操作包,提供了各种数据库操作的类和接口
6java.net完成网络编程
7java.io输入、输出处理
8java.awt包含了构成抽象窗口工具集的多个类,这些类被用来构建和管理应用程序的图形用户界面
9javax.swing此包用于建立图形用户界面,此包中的组件相对于java.awt包而言是轻量级组件

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值