面向对象OO
Object Oriented
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式
类和对象
属性(变量)和行为(方法)的合集,属性可作为行为的条件(即形参)
- 成员变量(属性):若未赋值,则有一个默认值
- 成员方法(行为)
- 类的使用:
- 导包import 包名.类名(对于和当前类在同一包的不用导包)
- 创建:类名称 对象名=new 类名称();
- 使用:对象名.变量 对象名.方法
- 类的一个对象内存变化:
内存变化
- 运行方法时立刻进栈,方法运行完立刻出栈
- 类的两个对象内存变化:
- 类的两个相联系的对象内存变化:
- 类的对象作为方法的参数
传递进去的实际时地址值(和数组类似)
- 类的对象作为方法的返回类型
传递进去的实际时地址值(和数组类似) - 局部变量和成员变量的区别:
局部变量位于栈内存,成员变量位于堆内存
- 类的对象作为方法的返回类型
封装
将一些细节信息隐藏起来,对于外界不可见降低耦合度
方法就是一种封装
- 关键字private
提高代码安全性,防止不合理数据的产生 - GetterSetter方法用来实现间接访问private修饰的变量
eg:
- private修饰的boolean类型的的getter和setter方法
- getter方法一样,Setter方法为is变量名
- this关键字:
局部变量(例如方法参数)和成员变量重名时候起到区分作用
- 构造方法:
在需要初始值的时候可以重载构造方法,可以减少使用setter方法的次数
- 标准的类