Package
Package:包
-  指明方法、类所处的包; 
-  将类分配到不同的包中,方便管理; 
-  用于指明文件中定义的类、接口等结构所在的包; 
-  一个源文件只要一个包的声明语句,必须放到开头; 
-  属于标识符,满足命名规范(全部小写、见名知意); 
-  命名不要以java。开头;机器会以为是Jdk中的包; 
-  每点一层就代表一层目录; 
-  同一个包下不能定义同名的类;可以定义多个类、接口;不通包下可以定义同名的类、接口; 
包的作用:
-  可以包含类和子包,帮助代码分层,便于管理; 
-  帮助管理大型软件系统;解耦 
-  解决类名冲突; 
-  控制访问权限; 
**无名包:直接在src中写类,不要这么写;
常见包
-  java.lang 
-  java.net 
-  java.io 
-  java.util 
-  java.text 
-  java.sql 
Import
Import导入
为了使用定义在其他包下的类
import xxx.xxx;
显示的调用其他包下的类;
- 》放在包的声明和类的声明之间;
- 》多个导入;并列的写即可;
- 》 import a.* 表示导入a包下的所有类、接口;
- 》当前类、或者lang下的可以省略;
- 》如果导入了a包,使用a包下面的子包还需要导包;
- 》不同包下的同名类同时使用,使用全类名的方式调用:
Java.sql.Date date1 = new java.sql.Date();
*import 和 static 结合使用可以直接调用类中的方法、属性;
Imort static java.utils.System.out;       
sout.print();
封装性
1、为甚么需要封装性
高内聚,低耦合;
不需要关注内部细节;
隐藏内部信息;
该隐藏的隐藏,该暴露的暴露
2、如何实现数据封装
使用权限修饰符(4种);
体现可见性大小;
private int legs;
//System.out.println(ani.legs); //设置为private之后不可这样调用;

外部类:
只能使用public、缺省来修饰;
类的内部成员可以用四个;
常用的
比较高:public/private;
 比较低:缺省、protected;