Java 封装
封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
把尽可能多的东西藏起来,对外提供便捷的接口。
封装的两个大致原则:把所有的属性藏起来。
实现封装:
1.修改属性可见性(设为private,防止错误的修改)
2.创建公有的getter/setter方法(用于属性的读写)
3.在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断)
package包的作用:
1.允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件。
2.防止命令冲突区分名字相同的类。
3.有助于实施访问权限控制。
包命名规范:
1.包名由小写字母组成,不能以原点开头或结尾。
package mypackage;
2.包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。
package net.javagroup.mypackage;
3.包名后续部分依不同机构内部的规范不同而不同。
package net.javagroup.reseach.powerproject;
用MyEclipse创建包
JDK提供基本包
java.lang:虚拟机自动引入。
java.util:提供一些实用类。
java.io:输入,输出。
使用MyEclipse创建包的两种方法
分别创建包和类。
创建类的过程中创建类所在的包。
访问权限控制
回顾
属性隐藏
包机制
访问权限控制
类的访问控制
类成员的访问控制
类的访问修饰
类的访问修饰符
public修饰符:公有访问级别
默认修饰符:包级有访问级别
类成员的访问修饰符
作用域 修饰符 | 同一个类中 | 同一个包中 | 子类中 | 任何地方 |
private | 可以访问和使用 | 不可以 | 不可以 | 不可以 |
默认修饰符 | 可以 | 可以 | 不可以 | 不可以 |
protected | 可以 | 可以 | 可以 | 不可以 |
public | 可以 | 可以 | 可以 | 可以 |
static修饰符
static可以用来修饰
成员变量
静态变量,可以直接通过类名访问。
成员方法
静态方法,可以以直接同归类名访问。
代码块
静态代码块,当Java虚拟机加载类时,就会执行该代码块。
static变量
类的成员变量包括
被static修饰的变量。
在内存中只有一个拷贝。
类内部,可在任何方法内直接访问静态变量。
其他类中,可以直接通过类名访问。
实例变量
没有被static修饰的变量。
每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响。
static方法
静态方法:可直接通过类名访问
静态方法中不能使用this和super。
不能直接访问所属类的实例变量和实例方法。
可直接访问类的静态变量和静态方法。
实例方法:通过实例访问
可直接访问所属类的静态变量、静态方法、实例变量和实例方法。
静态方法必须被实现(main()就是最常用的静态方法)