包和导包

Posted wenyule

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包和导包相关的知识,希望对你有一定的参考价值。

包和导包

  随着代码越写越多. 咱们不可能一直这样在src里创建java文件了. 就好比你看片片, 你不可能把所有的片片都堆桌面, 对吧, 你肯定要准备几个文件夹, 然后对这些片片进行分类, 哪些好看, 哪些无码, 哪些重口味~~. 一样啊. 咱的代码也是啊. 不可能就这么堆src里. 时间长了. 不好管理啊. 就像你桌面的片片. 太多了之后. 哪个好你也不知道了.

OK. 操作系统使用文件夹来装不同的文件. 在java里使用包来管理不同的java文件

怎么创建包? 看着

技术图片

右键-> 新建-> package

技术图片

注意: 包名一般用公司域名的翻转. 一般都是com或者org开头. 还有一些公司会用net开头. 然后就是项目名, 最后一般都是功能模块名. 比如. 你先在写的是qq的聊天窗口那就可以: com.qq.talk

创建出来的包是这样个样子的. 但是如果你去文件系统里看. 它是这样的.

技术图片

所谓的”.”其实就是文件夹.

root@wenyl:/mnt/d/Users/CMSZ/Desktop/Java_Play/HelloWorld/src# tree com/

com/

└── lewen

    └── opp

OK. 接下来我们到包里创建一个java文件看看

技术图片

我们发现, 现在写的代码的第一行多了这样一句话叫package. package表示当前文件所属的包.

package需要注意的点:

  1. 必须放在有效代码的第一行. 不可以写在别处.
  2. package 后面的代码必须和文件系统的路径一致.

一个包OK了. 那如果是多个包呢? 我们到src位置创建一个新包

技术图片

技术图片

idea会自动帮我们分开. 很人性化.

接下来. 我们到play里写一个Person类.

package com.lewen.opp;

public class Person {
    String name;
    String address;

    public Person(String name, String address) {
        this.name = name;
        this.address = address;
    }

    public void chi() {
        System.out.println(this.name + "正在吃东西");
    }
}

我们到play里调用这个类

package com.lewen.play;

public class TestPerson {
    public static void main(String[] args) {
        Person p1 = new Person("武大郎", "阳谷县"); // 这行报错
    }
}

我们发现 程序报错. 原因是. 自己包里没有这个叫Person的东西. 就好比, 你在你自己的房间里喊楼下的人. 听不见. 所以呢. 你需要打电话把楼下的人叫上来. 然后你俩面对面了. 你说什么他都能听到了. 此时, 我们需要导包,

语法:

import 包.类

package com.lewen.play;
import com.lewen.opp.Person
public class TestPerson {
    public static void main(String[] args) {
        Person p1 = new Person("武大郎", "阳谷县"); // 这行报错
    }
}


聪明的你一定想起来了. Scanner不就这样么. 对了. Scanner不在我这里. 用的时候就需要导入包.

导包快捷键 alt+enter

不需要导包:

  1. 在自己包里
  2. java.lang包. 我们用的String就是这个包里的.

以上是关于包和导包的主要内容,如果未能解决你的问题,请参考以下文章

导包和模块注意的问题

Help-IntelliJIDEA-2019-基础设置:4.自动导包和智能移除 (默认配置)

SSM——导包和命名空间

python的包和模块

python的包和模块

Beego框架logs模块