一、面向对象
- 对象:是具体的事物
- 类:是对对象的抽象
- 需求:使用面向对象思想表示人的日常生活
举例:
- 需求:使用面向对象思想表示人的日常生活
- 分析
- 由多个具体的人(小红、小张、老李)抽象出所有的公共特征
- 静态特征:姓名、年龄、性别
- 动态行为:吃饭、休息、自我介绍
- 实现
- 创建抽象的人-----Person类
- 创建具体的人-----对象
定义类
- 属性
- 方法
- 构造方法
- 其他:代码块 静态代码块 内部类
创建对象
- 类名 对象名 = new 类名();
- Person p1=new Person();
调用类的属性和方法
- 对象名.成员变量
- 对象名.成员方法
面向对象的优点:
1.将复杂的问题简单化
2.面向对象更符合现实生活中的管理者的角度,面向过程更符合执行者
3.面向对象更贴近于生活
二、内存分析
- 栈
- 存放:局部变量
- 先进后出,自下而上存储
- 方法执行完毕,自动释放空间
- 堆
- 存放new出来的对象
- 需要垃圾回收器来回收
- 方法区
- 存放:类的信息(代码)、 static变量、字符串常量等.
三、构造器
- 定义
- 一个在创建对象时被自动调用的特殊方法。
- 构造器作用
- 为对象进行初始化(成员变量)工作。
- 构造器是一种特殊的方法:
- 构造器的方法名必须和类名一致!
- 构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构造器里调用 return。
- 通过new关键字调用!!
- 如果我们没有定义构造器,则系统会自动定义一个无参的构造方法。如果已定义则编译器不会 添加无参数构造方法!
- 与普通方法一样,构造方法也可以重载
四、this关键字
- this的作用
- this表示的是当前对象本身,更准确地说,this代表当前对象的一个引用。
- 普通方法中使用this
- 区分类成员属性和方法的形参.
- 调用当前对象的其他方法(可以省略)
- 位置:任意
- 构造方法中使用this
- 使用this来调用其它构造方法
- 位置:必须是第一条语句
- this不能用于static方法