- 8
- 0
- 约2.99千字
- 约 6页
- 2018-01-01 发布于河南
- 举报
Java的面向对象基础教程
面向对象 Day02
2012/4/1
====================
OO
类 引用 对象
构造器
方法
1 面向对象(OO)
1) 什么是Object(对象), Object 本意:东西,是指一个具体事物实例
2) 面向对象, 面向客观事物之间的关系.
4) OOA面向对象分析/OOD 面向对象设计
客人来了(来了一个客人类型的某人)
5) 面向对象概念
A 类型: 名词概念, 如: 客人, 菜品, 厨师
B 引用(变量): 引用具体概念实例的代词, 如: 某人, 特价菜
C 对象(东西): 具体概念的个体实例,如:张三丰这个人, 一盘大盘鸡
D 行为(方法)
E 多态: 行为/引用, 在具体情形下发生了变化的现象
一盏灯: 多态的
打: 根据宾语发生变化
F 封装: 任何对象实例都是尽可能封装, 减少暴露
E 继承: 概念的继承关系
2 Java 类型, 引用变量 与 堆对象
1)Java 类, 是用来描述事物类型的. 如: 书
图书馆管理系统中的概念: 书 Book
书的特征: 书号, 书名, 编号, 作者, 价格...
类 == 类型
2) 类的声明:
public class Book{
long id;
String name;
String isbn; //书号
String[] authors; //作者
double price;
}
3) 引用变量与对象的创建过程:
A Java的内存管理与分配:
栈是一块Java使用内存区域, 使用的方式:LIFO(后来者居上)
堆也是一块Java使用内存区域, 使用方式: 无需随机分配
B 局部变量 与 堆对象空间分配
Java 局部变量在栈中分配, 是按照变量的类型分配
对象在堆中分配, 按照类的属性(实例变量)分配空间
C 变量类型与分配
变量分为: 基本类型和引用类型
基本类型变量的空间大小: 就是基本类型的空间大小, 值是基本类型
的值
引用变量的值是一个对象的地址值, 引用变量通过地址引用了一个堆
对象.引用类型变量的占用空间大小和值管理是透明的(不可看见),
由Java系统管理: 变量占用空间以及值的管理, 都是透明的.
4) 对象的属性默认自动初始化的. 自动初始化为零值, 引用为null
5) 在null引用上调用属性或方法, 会发生运行时异常
案例:
平面绘图坐标系中的一个点(Point),定义合理的属性
坐标是int类型.
O+----------------------------- X
|
|
|
|
| . p(x,y)
|
|
|
|
Y
3 构造器(构造方法) 的作用: 用来描述对象的初始化过程的.
1)
如: 月饼实例的创建, 使用面和馅创建.
制作(构造器)
月饼模子(类) ----- 月饼(对象)
原料(构建参数)
属性赋值
点类型 -------- 点(3,4)
坐标(3,4)
2) Java中的构造器: 声明在类内部, 方法名与类名一致
的方法叫构造方法, 构造方法不能声明返回值类型.
构造方法可以包含参数, 参数一般是创建对象实例
必须依赖的条件(前提条件).
public class Point {
int x;
int y;
/** 构造器 */
public Point(int x, int y){
this.x = x;
this.y = y;
}
}
3) 对象实例化过程:
new运算: 创建对象实例
1 根据类的属性在堆中分配对象空间.并且自动初始化实例变量(属性)
2 根据参数类型调用构造器.
3 new运算返回对象的引用地址.(这个地址就是引用)
4) this 关键字
this 是对当前对象的引用, 是运行期间当前对象本身.
this是在运行期间, 作为方法的第一个隐含参数, 是局部变量
可以使用this明确的访问当前对象的属性或者方法
类似于我.
this() 是调用本类的其他构造器, 可以使用构造
原创力文档

文档评论(0)