--- title: Java SE笔记: 面向对象基础 date: 2016-07-30 21:10:00 updated: 2016-07-30 21:10:00 description: "面向对象基础" categories: [个人笔记] tags: [Java, Java SE笔记] --- > 关于系统默认值: > - 基本数据类型 > - byte,short,int,long 0 > - float,double 0.0 > - boolean false > - char \u0000 > - 引用数据类型:null > 面向过程与面向对象的区别(盖饭、蛋炒饭) > - 炒饭对应为面向过程,蛋和饭混为一个整体,当客户需求改变时,如客户想吃别的炒饭,则要把所有饭全部挑出来,对应程序中要修改各个模块的各个方法; > - 而盖饭对应面向对象,当客户需求改变时,只需要把盖的东西换成客户想要的即可,两个对象耦合度很低,只通过盖这个动作协作起来。 > 为什么会出现面向对象分析方法? > 因为现实世界太复杂多变,面向过程的分析方法无法满足 > 面向过程? > 采用面向过程必须了解整个过程, 每个步骤都有因果关系, 每个因果关系都构成了一个步骤,多个步骤就构成了一个系统, 因为存在因果关系每个步骤很难分离, 非常紧密, 当任何一步骤出现问题,将会影响到所有的系统。如:采用面向过程生产电脑,那么他不会分 CPU 、主板和硬盘,它会按照电脑的工作流程一次成型。 > 面向对象? > 面向对象对会将现实世界分割成不同的单元(对象) ,实现各个对象,如果完成某个功能,只需要将各个对象协作起来就可以。 > 面向对象的三大特性 > 1. 封装 > 1. 继承 > 1. 多态 ### 类与对象的概念 类是对具有共性事物的抽象描述,是在概念上的一个定义,那么如何发现类呢? 通常根据名词(概念) 来发现类,如在成绩管理系统中:学生、班级、课程、成绩 学生—张三 班级—622 课程—J2SE 成绩—张三成绩 以上“张三” 、 “622” 、 “J2SE”和“张三的成绩”他们是具体存在的,称为对象,也叫实例 也就是说一个类的具体化(实例化) ,就是对象或实例 为什么面向对象成为主流技术, 主要就是因为更符合人的思维模式, 更容易的分析现实世界, 所以在程序设计中也采用了面向对象的技术, 从软件的开发的生命周期来看, 基于面向对象 可以分为三个阶段: 1. OOA(面向对象的分析) 1. OOD(面向对象的设计) 1. OOP(面向对象的编程)-----Java 就是一个纯面向对象的语言 ![](/images/javase_10.jpg) 通过以上分析,大家应该了解: `类=属性+方法` `属性来源于类的状态,而方法来源于动作` 以上模型完全可以使用面向对象的语言,如 Java 来实现 对象的存储方式: 对象存储在堆中,所以我们定义的stu1只能称为引用,不能称为对象! ![](/images/javase_11.jpg) >局部变量和成员变量: >以上属性称为成员变量,局部变量是在方法中定义的变量,方法的参数,方法的返回值, 局部变量使用前必须初始化,而成员变量会默认初始化,初始化的值名为该类型的默认值 >一个类可以创建 N 个对象,成员变量只属于当前的对象(只属于对象,不属于类) ,只有通过对象才可以访问成员变量,通过类不能直接访问成员变量!