0
点赞
收藏
分享

微信扫一扫

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

大南瓜鸭 2022-04-27 阅读 49
java

文章目录

包的概念

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

IDEA中创建包的方法

image-20220427205338481

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

Zhengzhou.Universityof.AeronauticsandAstronautics

下面就是三级嵌套的包:

image-20220427205542903

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

image-20220427210009221

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

image-20220427210312274

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

image-20220427210534177

包存在的意义

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

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

image-20220427211228522

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

Zhengzhou.Universityof.AeronauticsandAstronautics.Test

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

image-20220427211543088

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

Zhengzhou.Test

如何导入某个包中的某个类?

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

image-20220427212524804

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

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

Java的util类

image-20220427214107107

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

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

image-20220427214859837

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

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

image-20220427215315926

image-20220427215333158

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

1.使用类的全名称

image-20220427215920013

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

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);
    }
}

image-20220427222030661

常见的系统包

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

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

举报

相关推荐

0 条评论