栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 面向对象编程(一)——包的基本使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 面向对象编程(一)——包的基本使用

文章目录
  • 包的概念
  • IDEA中创建包的方法
    • 包存在的意义
    • 如何导入某个包中的某个类?
  • 静态导入
  • 常见的系统包

包的概念

Java中的"包"即是操作系统的文件夹,声明一个包用package关键字,若存在多个文件夹的嵌套,我们使用"."分隔,

IDEA中创建包的方法

比如我创建的嵌套包名称叫做:

Zhengzhou.Universityof.AeronauticsandAstronautics

下面就是三级嵌套的包:

在操作系统本地打开文件夹,即再次盘上查看这个文件夹的情况

可能有些好兄弟的包的分级显示效果和我不一样,IDEA默认情况下显示如下

需要进行如下操作才使得空包也会分级显示,只选择我选中的选项

包存在的意义

包的存在解释为了解决类同名的问题。

类的全名称就是:包名.类名

1.比如下面我在下最内层包中创建一个Test类

IDEA中最上方会显示类所在的包,类的全名称也就是:

Zhengzhou.Universityof.AeronauticsandAstronautics.Test

2.再在最外层包中创建一个Test类

此时在IDEA上方同样会显示类所在的包,此时类的全名称是:

Zhengzhou.Test
如何导入某个包中的某个类?

我们使用import语句,import语句只能导入相关包中的某个类!!(import导入类)

比如我在 Zhengzhou 这个包下面在创建一个类叫Student,然后我想在 Zhengzhou.Universityof.AeronauticsandAstronautics.Test 这个Test类下面导入Student类,只需要使用import语句,如下图:

这里我们在IDEA中只需要在Test类中使用这个类,IDEA就会帮我们自动生成import语句。

在Java中还用很多工具类,下面简单介绍工具类的导入方法

Java的util类

此时的Date表示的是java.util这个包下面的类。

要是还需要用到这个包的其他类,不需要一行一行写,只需要使用imoprt.java.util.*;即可。此时整个util包下的所有类都会按需加载,此时导入的还是类,而不是把util包文件夹导入。

例如,下面我再使用util包下面的LinkedList类,只需要使用imoprt.java.util.*;

但是我们一般不推荐使用 import.*; 因为会有歧义,举个栗子:

因为Date类在 java.sql 包下面和 java.util 包下面共有的,此时我写成如图代码,就会报错,编译器就会懵逼,不知道下面的两个Date类是那个包下面的。

当程序用到了两个类名称相同的类,解决办法

1.使用类的全名称

报错是因为没有生成一个无参构造,这里介绍包,不要介意那些细节~~。

2.import 明确指定导入的是哪个包下面的类

用 import.java.util.Date;

静态导入

概念:使用 import static 语句可以导入包中的静态方法和静态属性

例如下面代码:

package Zhengzhou;
//导入 System 这个类下面的所有静态方法和静态属性
import static java.lang.System.*;
导入 Math 这个类下面的所有静态方法和静态属性
import static java.lang.Math.*;
public class Test {
    public static void main(String[] args) {
        //类名.属性名称
        System.out.println(123);
        //导入系统包之后写成如下方式
        out.println(123);
        //类名方法名称
        int ret = Math.max(3,5);
        int ret1 = max(3,5);
        out.println(ret);
        out.println(ret1);
    }
}

实际上Java中的 System.out.println(); 中的out属性就是个 static 属性。

正常代码写成//类名.属性名称 System.out.println(123);,但是使用import static java.lang.System.*;导入 System 这个类下面的所有静态方法和静态属性后,就可以直接写成out.println(123);

下面Math类的直接使用import static java.lang.Math.*;导入同理,不多赘述了。

常见的系统包
包名介绍
java.langJDK的基础类,System,String,Object都在这个包下,JDK1.1之后这个包下的所有类自动导入。
java.lang.reflect反射开发包
java.util工具包(集合类都在这个包下,Arrays,LinkedList,HashMap)
java.ioI/O开发包,文件读取和写入
java.net网络编程开发包,Socket
java.sql数据库开发用到的包

关于包的基础常用知识介绍到这里就差不多结束啦~ 后边会继续更细面向对象编程的知识,未完待续,喜欢的三连走起~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/848231.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号