Java成长笔记——有关“包”

包的概念

在一个java源程序文件(*.java)中可以声明多个类。每个类编译之后均生成一个字节码文件。程序运行时,java虚拟机默认在当前文件夹中寻找指定类的字节码文件。当需要访问其他文件夹中的类时,不仅要指定文件路径,还要在程序中指定包名

从逻辑概念看,包(package)是类的集合,一个包中包含多个类;
从存储概念看,包是类的组织方式,一个包就是一个文件夹,一个文件夹包含多个字节码文件;
包与类的关系就像文件夹与文件的关系一样,文件是信息集合,文件夹是文件的组织方式。

包中可以有子包,子包对应一个子文件夹,由此构成嵌套结构,称为包等级。子包引用格式为“包.子包”,包等级之间使用点运算符“.”分隔。
包是java区别类名字空间的机制。一个包中的多个类不能重名,不同包中的类名则可以相同。


包的作用

1、区分相同名字的类
2、当类很多的时候,可以很好的管理类
3、控制访问范围


如何使用Java包

1、带包名的类或接口的语法格式为

包{.子包}.类|接口
// 语法定义中,“[]”表示可以重复0~1次,“{}”表示可以重复 “|”表示或者

2、导入包

java.lang语言包由java自动导入,课省略包名,如Math.PI、Math.sqrt()等。
如果要使用其他包中的类,必须使用import语句导入。使用import语句可以声明使用一个包中的类或接口,语法格式如下,其中,import是关键字,“*”表示包中的所有类或接口。
import 包{.子包}.类|接口|*;
import语句必须写在类声明之前
例如:import java.util.Date*;

3、声明类所在包

package语句指定源程序中的类或接口所在的包或子包,语法格式如下:
package 包{.子包};
其中,package是关键字
在源程序文件中,package语句只能写一次,且必须写在程序的第一行,即写在类声明之前。多个类可以属于同一个包。
例如 程序第一行 package com.mypackage;

4、创建并使用包

//声明Point类在mypackage包中
package mypackage
//类声明,点类
public class Point
{
    public int x;
    publix int y;

    //构造方法,以(x,y)构造point对象
    public Point(int x,int y)
    {
        this.x = x;
        this.y = y;
    }
    //构造方法,重载,默认值是(0,0)
    public Point()
    {
        this(0,0);
    }
    //成员方法,Point对象的描述字符串,形式为(x,y)
    public String toString()
    {
        return "Point("+this.x+","+this.y+")";
    }
}


//引用mypackage包中的Point类
import mypackage.Point;
//直线类
public class Line
{
    /* 直线类的起点和终点 */
    public Point start;
    public Point end;
    /* 对象的描述字符串 */
    public Line(Point start, Point end)
    {
        this.start = start;
        this.end = end;
    } 
    public String toString()
    {
        return this.getClass().getName()+"("+this.start.toString()+","+this.end.toString()+")";
    }

    public static void main(String [] args)
    {
        Point start = new Point(100,100); //直线的起点
        Point end = new Point(100,200);   //直线的终点
        System.out.println(new Line(start, end).toString());
    }
}

这里写图片描述

5、默认包路径

当源程序中没有使用package声明类所在的包时,java默认包路径为当前文件夹,没有包名。引用同一个包中的其他类时,包名可以省略,import 语句也可以省略

6、包可以压缩成.jar文件

在实际应用中,通常将一个包、包中的类文件、子包及子包中的类文件压缩成Java的压缩文件(.jar),JDK提供的文件压缩命令是jar.exe,在classpath环境变量中需要设置包压缩文件的路径。


Java API的常用包

API(Application Programming Interface,应用程序接口)定义了许多通用的常量、函数、类、接口等共功能,提供给应用程序使用,每种程序设计语言都有各自的API。
Java API 提供了java应用程序所需要的常量、类、接口等。统称为类库,按照功能,类库可以划分成java、javax等包。java包有lang、util等子包。Java API常用包说明如下表

包名功能
java.lang语言包java语言的核心类库,包含Java语言必不可少的系统类定义,包括Object类,基本数据类型封装类、数学运算、字符串、线程、异常处理等
java.util实用包工具类库,包含日期类,集合类库等
java.awt抽象窗口工具包提供构建图形用户界面的类库,包含组件、事件及绘图功能
java.applet实现Applet应用程序
java.text文本包体重各种文本或日期格式
java.io输入输出包提供表中输入输出流及文件操作的类库
java.net网络包提供与网络编程有关的类库,包括socket通信支持、Internet访问支持
java.sql提供数据库应用功能的类库
java.swing扩充和增强图形用户界面功能的类库

希望可以帮助到你!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxnsirius

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值