1、面向对象和面向过程:
面向对象:(编程思想)
较晚出现
面向:看、关注、瞅
对象:个体、个例、实体、实例、结果
侧重点:关注结果
理解:将我们从劳动者变成了指挥者 ==> 解放程序员
 面向过程:(编程思想)
较早出现
面向:看、关注、瞅
过程:前因后果、从头到尾
侧重点:关注从头到尾
理解:就是一个实实在在的劳动者
 使用上述两种思想去解决生活中的一些现象
现象一:吃饭
使用面向过程的思想去解决吃饭的问题
具体步骤:
     1)、思考今天吃什么
     2)、去菜场买菜
     3)、挑菜(货比三家、针对性砍价)
     4)、付钱提菜走人
     5)、摘菜
     6)、洗菜
     7)、切菜
     8)、炒菜
     9)、焖饭
     10)、吃饭
     11)、洗刷
使用面向对象的思想去解决吃饭的问题
具体步骤:
     1)、思考今天吃什么
     2)、去饭店
        ①、使唤服务员,调用其点菜功能
        ②、服务员将所点菜品告知后方的大厨,大厨做菜ing...
        ③、大厨使唤服务员,调用其上菜功能
     3)、开始吃饭
     4)、结账(多种支付方式)
 2、使用面向对象的思想进行场景演练
名词动词提炼法
场景一:大象装进冰箱
名词:大象、冰箱
动词:装
伪代码
具体步骤:
步骤一:设计类,花费大量时间
class 大象 {
}
class 猴子 {
}
class 冰箱 {
     开开( ) {
     
     }
    装(大象 dx) {
     
     }
     
     装(猴子 hz) {
     
     }
    关关( ) {
     
     }
 }
步骤二:实例化/创建类的对象,代码很短,内存很复杂
大象 dx = new 大象( );
 冰箱 bx = new 冰箱( );
步骤三:对象调用方法完成需求
bx.开开( );
 bx.装(dx);
 bx.关关( );
 场景二:猫抓老鼠
名词:猫、老鼠
动词:抓
伪代码
具体步骤:
步骤一:设计类
class 猫 {
     看(老鼠 ls) {
         ls.看(this);
     }
    抓(老鼠 ls) {
         ls.逃();
     }
    吃(老鼠 ls) {
         ls.叫()
     }
 }
class 老鼠 {
     看(猫 m) {
     
     }
    逃( ) {
     
     }
    叫( ) {
     
     }
 }
步骤二:创建类的对象
猫 tom = new 猫( );
 老鼠 jerry = new 老鼠( );
步骤三:对象调用方法完成需求
tom.看(jerry);
 tom.抓(jerry);
 tom.吃(jerry);
 场景三:红色的车正在飞速的行驶,然后停了
名词:车
动词:行驶、停止
伪代码:
具体步骤:
步骤一:设计类
class 车 {
     //属性(成员变量)
     //描述事物的特征、特点
     字符串 颜色;
     字符串 品牌;
     字符串 车牌;
     浮点型 价格;
    //方法(成员方法)
     //描述事物的功能、行为
     行驶( ) {}
     停止( ) {}
 }
步骤二:创建/实例化类的对象
 //...
步骤三:对象访问类的成员(属性、方法)完成需求
 //...
 3、属性
又被称为:成员变量,属于类的成员之一
作用:用于描述某类事物的特征、特点 ==> 偏静的部分
注意:
     1)、方法也是属于类的成员之一 ==> 定义在类的成员位置
     2)、方法用于描述某类事物的功能、行为 ==> 偏动的部分
 【问题1】:什么是成员变量?
 答:定义在成员位置的变量就是成员变量
【问题2】:什么是成员位置?
 答:直接定义在class的内部就是成员位置
【位置关系图】:
     class Xxx {
         //成员位置
         public ...( ) {
             
         }
         //成员位置
     }
定义格式:
两种情况:
情况一:声明同时初始化【使用较少】
模板:
     数据类型 属性名 = 属性值;
举例:
     double pi = 3.14;
情况二:先声明后初始化【使用较多】
模板:
     //环节一:在设计类的过程中仅仅声明定义属性,并不显示赋值
     数据类型 属性名;
    //环节二:在实例化对象完毕后,通过对象名.属性名的方式为对象属性进行显示赋值操作
     对象名.属性名 = 属性值;
举例:
     //人类
     class Person {
         //属性
         String name;
         int age;
     }
    //外部环境
     //创建Person对象
     Person p = new Person();
     //对象名.属性名 ==> 属性赋值
     p.name = "张三";
     p.age = 30;
 4、第一个面向对象程序收获总结
1)、某个类设计的目的就是为了给别的类使用,自己不存在单独执行的情况,则其内部可以不定义main方法
    一旦某个类需要被执行,则其内部必须定义main方法
 2)、如果有需要,类的内部可以创建多个对象,每个对象都有一份自己的属性,彼此独立、互不干扰
本电子书目录:《Java基础的重点知识点全集》