包的基本概述
起因:在我们设计一个程序的时候(尤其多人合作),会写一些类来实现功能,但是往往有重名的现象发生,为了解决这个问题,则专门设计了包(还有其他作用)
简单理解:不同城市之间存在相同名字的小区,用城市名则可以区分这些重名小区,城市名就可以理解为上面的包,小区则可以看作是重名的类,通过这个前缀,解决了重名的问题
(1)概述:
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
其实可以理解为就是这个文件夹,并且使用了树形目录的存储方式
(2)作用:
- 区分同名的类
- 对类进行分类管理
按功能分--把功能相似或者相关的类或接口组织在同一个包中
(3)包的定义:
package 包名;//多级包名。分开
(4)注意:
package语句必须在文件的第一条有效语句
在一个java文件中,只能有一个package
(5)带包的编译和运行
//编译
javac -d . xxx.java
//可以使用 *.java代表当前目录下的所有源文件
//运行:
java 包名.HelloWorld
(6)导包
当你需要使用一个包中的成员的时候,我们就需要在java程序中导入该包
如果两个类在同一个包中,则不必导包
格式:
第一种
import java.util.Scanenr;
第二种
//导入util下的所有类(不推荐)
import java.util.*;
权限修饰符
本类 | 同一个包下 | 不同包下的子类 | 不同包下的无关类 | |
public | Y | Y | Y | Y |
protected | Y | Y | Y | |
默认 | Y | Y | ||
private | Y | |||
这四种权限修饰符在任何情况下只能出现一种 |