封装是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象的内部,不允许外部程序直接访问内部信息,而是通过类所提供的方法来实现对内部信息的操作和访问。
1.封装可以实现目的:隐藏类的实现细节;让使用者只能通过预定的方法来访问数据,从而可以控制数据的不合理访问;可以检查数据的从而保证对象信息的完整性;便于修改提高代码的可维护性。即把该隐藏的的隐藏起来,把该暴露的暴露出来。
2.java语言中的访问控制符(访问级别由小到大)private 当前类访问权限 default 包访问权限protected 子类的访问权限 public 公共访问权限 如果一个java源文件里面定义的所有的类都没有用public来修饰,则这个java源文件的文件名可以是一切合法的文件名,但如果一个java源文件里面定义了一个public修饰的类,则这个源文件的文件名必须与public修饰的类的类名字一样。通常我们为java类里面的每一个实例变量都用private修饰,并为每一个实例变量提供public修饰的get和set方法,及我们这个类就是符合JavaBean规范的类。类里面的绝大多数成员变量都使用private修饰,类的构造器想暴露出来的通常用public,作为父类不想让外界直接使用用protected。
3.package 将一做功能相关的类放在同一个package包下,包名应该全是小写字母,一个源文件只能指定在一个包中,父类的包和子类确实存在内在逻辑关系,但父类的包要想引用子类的包还必须要引用子类包的全名。java默认为所有的源文件导入java.lang包下的所有类,因此java程序中可以使用String System 类时都无需使用import 语句来导入这些类。import和import static 不同。import static导入的是包你所有静态变量、静态方法(可以省略类名)。
4.java常用包 java.lang:这个包中包含了java语言的核心库,如String、Math、System、Thread类,这个包系统自动导入。java.util:这个包里包含了java的大量工具类|接口和集合框架类|接口,如Arrays、List、Set等。java.net:这个包下包含了一些java网络编程相关的类和接口。java.io:这个包包含了一类java输入输出编程相关的类|接口。java.text:这个包包含了java格式化相关的类。java.sql:这个包包含了java进行JDBC相关的类。java.awt:这个包下包含了抽象窗口工具集(Abstract Window Toolkits)的相关类|接口,这些类主要用于构建图形用户界面(GUI)程序。java.swing:这个包下包含了Swing图形用户界面的相关类|接口,这些类和接口可用于构建平台无关的GUI。