方法重载的复习
练习:加法器
成员变量和局部变量
作用域 局部变量:在 栈 中 (随着方法而诞生和销毁) 作用域仅限于它的方法 重名时优先使用局部变量
成员变量(全局变量):在 堆 中
封装 (Java 三大特征之一)
原则:把所有属性隐藏起来
将类的某些信息隐藏在类内部,不允许类外直接调用,对外部提供接口
如何封装 getter setter 其中可检查合法性或设置限制
好处 便于使用者正确使用系统;有助于系统间松耦合;可重用性;方便大型系统开发
练习
包(package)
作用:允许类组成最小的文件,便于快速找到
控制权限
防止重名
命名规则 com/cn.公司名.项目名.entity (必须小写) 必须位于第一行
JDK提供基本包:java.lang java.util java.io
导入包
import 包名. 类命;
同名类来自不同包,必须写全包+类名来使用
每个包是独立的,顶层包不包括子类的包
类的访问修饰符
private
默认
protected
public
static修饰符
成员变量(类变量) 可直接在类内和外(无需实例化对象,直接通过类命访问)直接访问 只开辟
一个空间
成员方法 静态方法里变量必须是静态变量
代码块 JVM按顺序加载,加载后就执行,每个代码块只执行一次
Java开辟静态区间存储(不同于堆 和 栈),GC默认不会回收,只能手动回收、销毁
重复不变的量适合使用static(所以慎用)
类变量和实例变量
实例变量:每个拷贝创建一个空间,定义在类中方法之
外
类变量:被类内所有实例共享,可作为实例之间进行交流的共享数据 节省存储,只有一处
静态方法
不能使用this和super
不能直接访问所属类的实例变量和实例方法
可直接访问实例变量和实例方法
静态方法必须被实现(main是最常用的静态方法)
非静态方法里不能定义静态变量