目录
6-1 面向对象思想
程序设计思路:面向对象OOP与面向过程POP
面向过程:重点在过程,把每一步抽象成函数
面向对象:重点在类,参照现实把所有事物的属性与行为抽象出来,以类为单位
面向对象更适合复杂场景
6-2 类的成员与实例化
Java的基本元素:类与对象
类是抽象的,对象是具体的(也可叫做实例)
对象是类的实例化。
类是一组属性与行为的集合。对应成员变量与成员方法。
面向对象完成的步骤:
1、类的定义:使用class定义。
public class Person{……}
并且在里面设置变量与方法。
2、对象的创建:使用new创建。
类名 对象名 = new 类名();
3、对象调用属性与方法
对象名.成员变量
对象名.方法
后面可以加多个,可能有类的成员变量为类,其自身包含变量与方法
6-3 内存解析与匿名对象
匿名对象:直接调用对象的方法不单独创建有对象名的实例
只能使用一次,后面其他的与本次使用的不会是一个。
只使用方法时常用
eg. new Person().speak();
这里new出来的Person是没有名字的。
内存解析:重点关注Runtime Data Area
堆:new出来的内容,存放对象实例(栈中的类名实际上是地址,地址指向类存储的位置也就是堆里面)
栈:方法内定义的变量,存储局部变量,结束会自动释放
方法区:类的模版,存储类信息、常量、静态变量
6-4 类的成员之一:成员变量
声明:
eg. public class Person{
private int age = 20;
}
修饰符:常用有private、缺省(default)、protected、public
变量包括:成员变量与局部变量
前者在类体内声明,后者在方法体内部声明
二者存储的位置不同:成员变量在堆中,局部变量在栈中
修饰符:成员变量有很多种,局部变量只有final
对于默认值,实例变量有,而局部变量灭有必须手动初始化(必须赋值)
前者的默认值与普通类型相同。