面向对象编程
1.面向对象和面向过程思想的总结
q 都是解决问题的思维方式,都是代码组织的方式。
q 面向过程是一种“执行者思维”,解决简单问题可以使用面向过程。
q 面向对象是一种“设计者思维”,解决复杂、需要协作的问题可以使用面向对象。
q 面向对象离不开面向过程:
n 宏观上:通过面向对象进行整体设计
n 微观上:执行和处理数据,仍然是面向过程。
2.类:我们叫做 class。 对象:我们叫做 Object,instance(实例)
3.对于一个类来说,有三种成员:属性 field、方法 method、构造器 constructor
4.构造器 4 个要点:
q 构造器通过 new 关键字调用!!
q 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在
构造器里使用 return 返回某个值。
q 如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法。如果已定义
则编译器不会自动添加!
q 构造器的方法名必须和类名一致!
5.Java 虚拟机的内存可以分为三个区域:栈 stack、堆 heap、方法区 method area
6.this 关键字
this 本质就是“当前对象的地址”!
7.this 的用法:
q 普通方法中,this 总是指向调用该方法的对象。
q 构造方法中,this 总是指向正要初始化的对象。
this()调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且
必须位于构造方法的第一句。
q this 不能用于 static 方法中。
q this 是作为普通方法的“隐式参数”,由系统传入到方法中
8.static 关键字
静态变量/静态方法生命周期和类相同,在整个程序执行期间都有效。它有如下特点:
q 为该类的公用变量,属于类,被该类的所有实例共享,在类载入时被初始化。
q static 变量只有一份。
q 一般用“类名.类变量/方法”来调用。
q 在 static 方法中不可直接访问非 static 的成员
9.变量有三种类型:局部变量、成员变量(也称为实例变量)和静态变量
10.面向对象三大特征
继承、封装、多态