包和导包

包和导包

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

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

怎么创建包? 看着

1c42fd44-1709-487c-8ddf-81f973acf397

右键-> 新建-> package

f3680aaa-08eb-4170-afaa-2f1aac5b5327

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

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

56ffbfd5-1cb1-4972-8748-0aed1f8cbed5

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

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

com/

└── lewen

    └── opp

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

ec61fedb-92e7-4a22-9a12-56feadd15e64

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

package需要注意的点:

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

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

9608a071-d328-4364-a3bf-b39d71996751

1202ed6d-53b4-432a-a8b6-51ac145909bf

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就是这个包里的.
posted @ 2020-01-15 21:35  前海渔文乐  阅读(278)  评论(0编辑  收藏  举报