day07 面向对象编程(1)
学习面向对象的三条主线
-
-
面向对象的三大特征:封装性、继承性、多态性、(抽象性)
-
其他关键字的使用:this\super\static\final\package\import\abstract\interface
面向对象 vs 面向过程
-
面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。
-
面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
类与对象
-
类(Class)和对象(Object)是面向对象的核心概念。
-
面向对象程序设计的重点是类的设计
-
类的设计,其实就是类的成员的设计
-
类是对一类事物的描述,是抽象的、概念上的定义
-
对象是实际存在的该类事物的每个个体,因而也称为实例(instance)
类的语法格式
修饰符 class 类名{
属性声明;
方法声明;
}
类的内部设计
概念:
-
属性 = 成员变量 = field = 域、字段
-
方法 = 成员方法 = method = 函数(function)
-
对象 = 实例
-
创建对象 = 类的实例化
如何由类创建对象以及实现功能的调用:
-
第1步:创建类,并设计类的内部成员。(属性、方法)
-
第2步:创建类的对象 (或类的实例化)
-
第3步:通过“对象.属性” 或 “对象.方法()” 的方式,完成功能的实现
对象的内存解析:
-
对象名的变量保存在栈空间中
-
对象实体保存在堆空间中,对象的属性也保存在堆空间中。
-
如果创建类的多个对象,则每个对象拥有一套类的属性。如果修改其中一个对象的属性a的值,不会影响
-
其它对象的属性a的值。
类的访问机制
-
在一个类中的访问机制:类中的方法可以直接访问类中的成员变量。(例外:static方法访问非static,编译不通过。)
-
在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员。
类的成员之一:属性
格式
修饰符 数据类型 属性名 (= 初始化值);
-
修饰符:private、缺省、protected、public、static、final
-
数据类型:任何基本数据类型或任何引用数据类型
-
属性名:标识符
成员变量 VS 局部变量
相同点:都是变量,定义的格式相同的。
都有作用域,在其声明的作用域内是有效的。
* 不同点:
* ① 类中声明的位置不同
* 成员变量:直接声明在类中
* 局部变量:方法内部、方法的形参、构造器内部、构造器形参、代码块内部等
* ② 在内存中分配的位置不同
* 成员变量:分配在堆空间中
* 局部变量:分配在栈空间中
* ③ 成员变量声明以后,可以有默认赋值。
* 整型:0
* 浮点型:0.0
* 字符型:0 或 \u0000
* boolean型:false
* 引用类型:null
*
* 而局部变量在调用前,必须显式赋值,因为没有默认赋值。
* ④ 成员变量可以在声明前,添加权限修饰符。
* 而局部变量不能使用权限修饰符进行修饰。
* (此时的权限修饰符有:public \ private \ protected \缺省)

浙公网安备 33010602011771号