包的命名规则:
包名全部由小写字母(多个单词也全部小写);
如果包名包含多个层次,每个层次应该用“.”分割;
报名一般由倒置的域名开头,比如com.baidu.www;
自定义包不能java开头;
a、 package语句用于指明该源文件定义的类所在的包。一个Java源文件中最多只能有一条package语句;
b、如果Java源文件中有package语句,则该语句一定是源文件中的第一条可执行语句,它的前面只能有注释或空行;
包的作用:
有利于类的查找与管理。一个软件由很多类构成,这些类按其功能可分为vo类、dao类、工具类、service类、controller类等,将这些类按其功能分门别类地放在不同包中有利于类的查找与管理;
解决了同名类命名冲突;
有利于保护类中的成员变量及其方法。类中成员变量及其方法前面的访问控制符决定了该变量和方法的使用范围
定义包用package关键字:
1:对类文件进行分类管理。
2:给类文件提供多层名称空间。
类的全名称:
包名.类名
编译命令:javac –d 位置(.当前路径) java源文件 (就可以自动生成包)
包是一种封装形式:
用于封装类,想要被包以外的程序访问,该类必须public;
类中的成员,如果被包以外访问,也必须public;
导包的原则:
用到哪个类,就导入哪个类。
import :
为了简化类名书写。
JDK中的包
JDK类库中的包,最高一级的包名是java和javax。
java.lang:提供利用 Java 编程语言进行程序设计的基础类,例如:String、Math、Integer、System和Thread等。
java.util:java工具类,包含对集合的操作、事件模型、日期和时间设施、国际化和各种实用工具类。
java.io:通过数据流、序列化和文件系统提供系统输入和输出。
java.net:为实现网络应用程序提供类。
java.awt:包含用于创建用户界面和绘制图形图像的所有类。
什么时候需要引包:
自定义类中使用在不同一包中的其它自定义类时;
自定义类中除java.lang包以外的其它包中的JDK中自带的类时就需要引包;
自定义类中使用其它第三方jar包中的类或接口时需要引包;
如何引包,引包的方式有两种:
直接使用完整类名引包;
使用import关键字引包;
使用import关键字将其它包中的类引入到当前类中有两种方法:
import 包名.类名,这种方式用的最多;
import 包名.*,这种方式将向类中导入该包中的所有公共类;
包与包之间的类进行访问:
被访问的包中的类必须是public的,被访问的包中的类的方法也必须是public的。
访问修饰符
软件中的某些属性和方法出于程序安全考虑不允许被其它类操作和调用,这就需要使用Java中的访问权限修饰符,Java中的访问权限修饰符有4中:
Java中的访问权限修饰符可以修饰成员变量、构造方法、普通方法。
Public:
是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;
Protected
修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;
默认(友好的)
修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;
Private
是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在定义它们的类中被操作或使用;
访问控制修饰符 | 当前定义类的内部 | 同一个包 其它类中 | 不同包的 子类中 | 不同包的 非子类中 |
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
default | √ | √ | ||
private | √ |