Java基础复习(四)————面向对象(上)
1、面向对象思想——基于面向过程的编程思想
(1)面向对象思想特点:是一种更符合我们思考习惯的思想;把复杂的事情简单化;让我们从执行者变成了指挥者。
面向对象思想举例:把大象装进冰箱。用面向对象的思想考虑这个问题,有一头大象,有一台冰箱,把这头大象装入这台冰箱;而面向过程思想则侧重于怎么把大象装入冰箱的具体过程。
2、类(class)
(1)概述:Java语言中最基本的单位,一般实体事物都是用类来体现的。也可以说是一组相关属性和行为的集合。
(2)定义:class 类名 {
成员变量1;
...... (事物属性)
成员变量n;
成员方法1;
...... (事物行为)
成员方法n;
}
2、对象的特点(单身狗= =,没有对象):
(1)万物皆对象,具体的实体都可以抽象为对象。
(2)每个对象都是唯一的,通过java内存中分配的地址不同保证唯一性。
(3)对象具有属性和行为。如人有性别,年龄,身高,体重等属性,有吃饭,睡觉,走路,说话等行为。
(4)对象具有状态,某个瞬间的对象的属性的取值。如小明今年18岁,明年就是19岁。
(5)对象都属于某个类,每个对象都是某个类的实例。
3、类与对象
(1)创建对象格式:类名 对象名 = new 类名();
(2)使用成员变量和成员方法:对象名.成员变量;对象名.成员方法();
(3)学生类案例:
(4)java内存图(以上面的为例)
---------------------------------------------------------------------------------------------------------------------------------
*(1)成员变量与局部变量的区别是什么? (解析如下)
A.在类中的位置不同:成员变量 类中方法外局部变量;方法内或者方法声明上
B.在内存中的位置不同:成员变量 堆内存;局部变量 栈内存
C.生命周期不同:成员变量 随着对象的存在而存在,随着对象的消失而消失局部变量;随着方法的调用而存在,随着方法的调用完毕而消失
D.初始化值不同:成员变量 有默认的初始化值;局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。
---------------------------------------------------------------------------------------------------------------------------------
(5)匿名对象:就是没有名字的对象。
格式:new 类名();
使用情况:对象调用方法仅仅一次的时候;作为实际参数传递