面向对象object-oriented programming(OOP)
一,Java面向对象的三条主线
- Java类及类的成员,属性,方法,构造器,代码块,内部类
- 面向对象的三大特征:封装性,继承性,多态性,(抽象性)。
- 其他关键字:this,super,static,final,abstract,interface,package,import
1.1术语解释
类(class):是构造的对象模板或蓝图,由类构造(construct)对象的过程称为创建类的实例(instance).
对象的三个主要特征
- 对象的行为(behavior)——可以对对象完成那些操作,或者可以对对象应用那些方法?
- 对象的状态(state)——当调用方法时对象会如何响应
- 对象的标识(identity)——如何区分具有相同行为与状态的不同对象(每一个对象都有一个唯一的标识符)
1.2类与类之间最常见的关系
- 依赖
- 聚合
- 继承
1.3对象与对象变量
首先必须构造对象,并指定其初始化状态,然后对对象应用方法
构造器的名字应该与类名相同。Date类的构造器名为Date,想要构造一个Date对象,需要在构造器前面加new操作符
Date date=new Date();
2.1面向过程与面向对象
人把大象装进冰箱
面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做
- 把冰箱打开
- 抬起大象放进冰箱
- 关上冰箱
面向对象:强调具备功能的对象,以类/对象为最小单位,考虑谁来做
人{
打开(冰箱){
冰箱.开开();
}
抬起(大象){
大象.进入(冰箱);
}
关上(冰箱){
冰箱.闭合();
}
}
大象{
进入(冰箱){}
}
冰箱{
开开(){}
关上(){}
}
类和对象
- 属性=成员变量=field=字段/域
- 方法=成员方法=函数=method
- 创建对象=类的实例化=实例化类
类和对象的使用(面向对象思想着落的体现)
- 创建类,设计类的成员
- 创建类的对象
- 通过对象调用成员属性(对象.属性或对象.方法)调用对象的结构
如果创建了一个类的多个对象,则每个对象都有一套独立的体系(非static类)
如果修改一个对象的属性a,则不影响另一个对象属性a的值值
类的属性的使用
1.属性和成员成员变量
相同点
- 定义变量的格式 数据类型 变量名=变量值
- 先声明,后使用
- 变量都有其对应的作用域
不同点
-
在类中声明的位置不同
属性:直接声明在类的{}中
局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
-
关于修饰符的不同
属性:可以在声明时指定其权限,使用权限修饰符
局部变量:不可以使用权限修饰符
-
默认初始化的情况
属性:类的属性,根据其类型都有初始化默认值
局部变量:没有默认初始值,一定要显示赋值,特别的是形参在调用的时候声明
-
加载的位置不同
属性:加载在堆空间(非static)
局部变量:加载到栈空间
2.类中方法的声明和使用
方法的声明:
权限修饰符 返回类型值 方法名(形参){
方法体 }