(Java)包的概念及使用

一、包的基本概念

当有多个开发人员共同开发同一个项目,肯定会出现类名称相同的情况,这样一来就会比较麻烦
在这里插入图片描述
此时可以利用 package 关键字来解决此问题。

package 是在使用多个类或接口时,为了避免名称重复而采用的一种措施,直接在程序中加入 package 关键字即可:

package 包名称.子包名称
package org.lxh.test;
class Demo{
    public String getInfo(){
        return "Hello World !!!";
    }
}
public class Test{
    public static void main(String[] args) {
        System.out.println(new Demo().getInfo());
    }
}

此时编译时需要加上相应参数:
在这里插入图片描述

-d --- 表示生成目录,生成的目录以 package 的定义为准
. --- 表示在当前所在文件夹中生成

在这里插入图片描述
执行完以上命令后,会自动生成相应的文件夹(包),之后再执行类时就必须输入完整的“包.类名称”,执行语法:
在这里插入图片描述
程序的运行结果与之前并没有什么不同,加入包只是让类的管理更加方便

二、import 语句

如果几个类存放在不同的包中,在使用类时就必须通过 import 语句导入,
import 的语法格式:

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

定义 org.lxh.test 目录下的 Demo1.java
在这里插入图片描述
此处的 Demo1 必须设置为 public,这样 Test 才能对其进行访问,也就是说如果一个类要被外包访问,则此类一定要定义成 public class

import org.lxh.test.Demo1;//引用 Demo1 类

public class Test{
    public static void main(String[] args) {
        System.out.println(new Demo1().getInfo());
    }
}

如果在一个类中导入一个包中多个类时,一个个地导入会比较麻烦,可以使用导入“*” 的方式由 JVM 根据需要自己加载的类。

import org.lxh.test.*

但是当一个程序中同时导入了两个包的同名类,使用时就必须明确地写出完整的“包.类名称”

import org.lxh.demo.a.*;//包中存在Demo类
import org.lxh.demo.c.*;//包中存在Demo类
public class Test{
	public static void main(String[] args){
		org.lxh.demo.a.Demo d = new org.lxh.demo.a.Demo();
		System.out.println(d.getInfo());
	}
}

三、系统常见包

在这里插入图片描述
在这里插入图片描述

四、Java 新特性 – 静态导入

如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接使用 import static 的方式导入:

import static..*

定义一个类,全部由静态方法组成:

package org.lxh.test;

public class Demo1{
    public static  int add(int i,int j){
        return i+j;
    }
    public static int sub(int i,int j){
        return i-j;
    }
    public static int mul(int i,int j){
        return i*j;
    }
}

使用静态导入:

import static org.lxh.test.Demo1.*;//静态导入

public class Test{
    public static void main(String[] args) {
        System.out.println("3+3 = " + add(3,3));
        System.out.println("3-3 = " + sub(3,3));
    }
}

由于程序中使用了静态导入,所以Demo1 类中的所有静态方法可以直接在 Test 类中使用,而 不需要使用 “类.静态方法()” 的形式使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

南淮北安

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

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

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

打赏作者

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

抵扣说明:

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

余额充值