java IDEA中包的使用 详解

简介: 关于IDEA中包的使用,新手向。

目录

 

前言 :

一、什么是包?

二、包的作用 :

三、IDEA创建包演示 :

四、包的语法格式 :

五、包的应用 :

六、java中常用的包:

七、如何导入包?

       方式一 :

       方式二 :

八、注意事项 :


前言 :

       相信常用IDEA或者IDEA community来写java的小伙伴儿,对于package包肯定是不陌生了。所以,这篇博客主要是面向一些刚刚使用IDEA(比如说初学java)的人(即新手向)。

一、什么是包?

       所谓包,说白了就是文件夹或者目录,当我们创建了许多类时,就需要包来归类,可以将功能相似或相关的类放在同一包下,不同包下的类可以重名。所以,包的本质其实就是用以区别不同类的文件夹或目录。如下GIF图所示,在IDEA中创建的包,都可以在硬盘中找到对应的文件夹。

image.png

二、包的作用 :

       1.可以对类进行分门别类的管理,把功能相似或相关联的类或接口放在同一包下,方便查看和使用。(其实java自带的许多类已经做了分包处理,如下GIF图所示 : )

image.png

       2.区别相同名字的类,同名的两个类可以放在不同的包下。当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。(如下GIF图所示,在不同包下创建了同名的Student类,但并没有引起报错。)

image.png

       3.限制访问权限,java默认的访问权限是在本包下,用到其他包下的类需要导包。

三、IDEA创建包演示 :

   image.png

       如上图所示,我们需要双击想创建新包的地方,依次点击new,Package,然后输入包名即可,创建多级包需要用" . "来隔开,需要注意的是,IDEA默认并不能直接创建显式的多级包,什么意思呢,如果你直接在空包下创建一个新包,两个包就会“叠”起来,如下图所示:

image.png

       而我们自然是希望达到这样的效果。       image.png

        这时,我们只需要先在test包下创建一个类,随便你怎么建,只要test包下不是空的了,你再去创建多级包就可以显式呈现出来。如下GIF图所示 :

image.png

四、包的语法格式 :

package 包名        ;

(多级包之间用. 隔开)

       事实上,当你创建一个包时,IDEA会自动将该语句写好。eg :

image.png

五、包的应用 :

        在同一个测试类中,可以用包名来区分两个同名但不同的类,有两种解决方案 :

       1.两个类都不引入,都加前缀包名以作区分。

       2.引入其中一个类,另一个类加前缀包名以作区分。注意 : 不能同时引入两个类。  

       该解决方法同样适用于自定义类与java自带类出现重名的情况

六、java中常用的包:

1.java.lang包,lang包是java的一个基本包,应用很广,java默认引入,不需要再手动引入。

2.java.util包,util包是系统提供的工具包,含有许多常用的工具类,比如Scanner类,List类等等。

3.java.net包,net包是指网络包,主要用于网络开发。

4.java.awt包,awt包用于java的界面开发,如GUI相关。

5.java.io包,io包囊括了与javaIO流相关的许多类。

七、如何导入包?

       方式一 :

       import 包名.类名;      

       这是最常用的形式,表示只引入该包下的该类

       方式二 :

       import 包名.*;      

       这中形式可以将某一个包下的全部类都引入,使用频率较低。

       当需要引入的类超过3~5种,且都是同一包下类时可以考虑使用此方式以使代码简洁,比如IO流相关,up在一篇讲解IO流基础的博文里,有一个代码演示便用了此方式。

八、注意事项 :

       1.package关键字的作用是声明当前类所在的包,因此一个类中最多只有一个package语句,且必须放在类的最顶端

packageknowledge.succeed;
importjava.util.Scanner;
importjava.io.*;
//演示类,暂且无实际意义publicclassHuaextendsChild{
publicHua() {
super();
    }
publicHua(Stringname, intage) {
super(name, age);
System.out.println("这是Hua类的有参构造");
    }
publicvoidhua() {
System.out.println("花开花败总归尘。");
    }
}

image.gif

       例如以上代码,若将package语句放在了导包语句的下面,会报错,如下图所示。

image.png

       2.import关键字指令,要放在包声明后,类定义前。导包语句可以有多句且无顺序要求。如上面代码中,可以先引入Scanner类,亦可以先导入io包。

System.out.println("END---------------------------------------------------------------");

目录
相关文章
|
2月前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
149 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
1月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
66 0
|
10天前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
59 6
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
67 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
25天前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
30 6
|
1月前
|
Oracle IDE Java
IDEA安装教程配置java环境(超详细)
IDEA安装教程配置java环境(超详细)
|
3月前
|
前端开发 Java Maven
【前端学java】全网最详细的maven安装与IDEA集成教程!
【8月更文挑战第12天】全网最详细的maven安装与IDEA集成教程!
98 2
【前端学java】全网最详细的maven安装与IDEA集成教程!
|
3月前
|
Java PHP 数据安全/隐私保护
Java——IDEA如何运行单个文件
Java——IDEA如何运行单个文件
59 1
Java——IDEA如何运行单个文件
|
4月前
|
Java
初识Java与IDEA的简易介绍
1.Java的简单介绍 2.IDEA的快速上手(模块导入、模块删除)
54 1
初识Java与IDEA的简易介绍
|
3月前
|
Java
Java系列之 IDEA 为类 和 方法设置注解模板
这篇文章介绍了如何在IntelliJ IDEA中为类和方法设置注解模板,包括类模板的创建和应用,以及两种不同的方法注解模板的创建过程和实际效果展示,旨在提高代码的可读性和维护性。