包和导包
随着代码越写越多. 咱们不可能一直这样在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需要注意的点:
- 必须放在有效代码的第一行. 不可以写在别处.
- 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
不需要导包:
- 在自己包里
- java.lang包. 我们用的String就是这个包里的.