当前位置:   article > 正文

面向对象1_面向对象:小明吃饭睡觉打豆豆

面向对象:小明吃饭睡觉打豆豆

目录

1. 面向对象和面对过程

2. 类和对象

3. Java中定义类的格式

        3.1 定义类完成属性描述

        3.2 定义类完成行为描述

4. Java中创建对象和操作成员

        4.1 创建对象

        4.2 通过对象操作成员变量

        4.3 通过对象操作成员方法

5. 类对象内存分析图


1. 面向对象和面对过程

吃烤羊排

【面向对象】:1. 驱车去往烤羊排店铺
                         2. 点一份烤羊排
                         3. 吃
                         4. 埋单
                         5. 返程 

面向过程】:1. 买羊排 
                         2. 准备调料 
                         3. 羊排整扇焯水,撇去浮沫
                         4. 料汁 
                         5. 烤箱 预热 190 度 3分钟
                         6. 羊排刷料放入烤箱 上下火 200度 15分钟
                                10分钟 在撒上孜然粉
                         7. 吃
                         8. 洗锅,洗烤箱,收拾

面向对象:找合适的人,做合适的事

面向过程:自己亲力亲为

2. 类和对象

对象
人类马云、马化腾、周杰伦...
狗类哮天犬...
车类劳斯莱斯幻影、领克01...

类:一类事物的统称,具备对应事物的行为描述和属性描述

对象:类对应的具体的,唯一的,独立的个体 

3. Java中定义类的格式

class 类名 {
    属性描述 【成员变量 Field】
    行为描述 【成员方法 Method】
}

类名:
            需要按照大驼峰命名法命名,同时要求见名知意
属性描述:
            描述当前类有哪些属性,例如: 
             人类 姓名,年龄,性别
             汽车类 发动机型号,变速箱型号,底盘配置...
行为描述:
           描述当前类有哪些行为,例如:
           人类 吃饭,睡觉,打豆豆
           汽车类 飙车,倒车

        3.1 定义类完成属性描述

  1. /*
  2. 自定义类,Person 类。复合类型
  3. 定义了一个数据类型,Person 类型。
  4. */
  5. class Person {
  6. // 属性描述【成员变量】
  7. /*
  8. 姓名属性描述,name 成员变量对应的数据类型为 String 类型。
  9. 描述 Person 类有 姓名属性,不带有任何的数据信息,因为数据信息
  10. 需要 Person 类对象承载。
  11. */
  12. String name;
  13. /*
  14. 年龄属性描述,age 成员变量对应的数据类型为 int 类型
  15. */
  16. int age;
  17. /*
  18. 性别属性描述,gender 成员变量对应的数据类型为 char 类型
  19. */
  20. char gender;
  21. }

        3.2 定义类完成行为描述

  1. // 行为描述【成员方法】
  2. /*
  3. 吃饭行为描述,使用方法来完成,方法的参数是 String 字符串类型
  4. */
  5. public void eat(String food) {
  6. System.out.println("我今天吃" + food);
  7. }
  8. /*
  9. 睡觉行为描述,无参数方法
  10. */
  11. public void sleep() {
  12. System.out.println("我要和床一起到天荒地老");
  13. }
  14. /*
  15. 写代码行为描述,无参数方法
  16. */
  17. public void coding() {
  18. System.out.println("键盘敲烂,月薪过万!");
  19. }

4. Java中创建对象和操作成员

        4.1 创建对象

格式:    
            类名 类对象名 = new 类名();
            类名() ==> 构造方法 Constructor 

例如:Scanner sc = new Scanner(System.in);

解释:
    Scanner: 是一个类,首字母大写,Java中键盘录入数据扫描器类。

sc: Scanner 类变量,学名【Scanner 类对象】。

new:【有new 就有 堆】
        1. 在内存堆区根据当前数据类型所需,申请对应大小的内存空间
        2. 擦除申请空间中的所有数据。
Scanner(XXX):
        方法,构造方法 Constructor 方法名是类名。
  【作用】
            1. 提供数据类型,方法名是【类名】,告知 new 需要创建的是哪一个类的对象,需要多少空间
            2. 用于赋值当前内存空间中的数据内容。目前不涉及。

  1. /*
  2. 类名 类对象名 = new 类名();
  3. 创建了一个 Person 类对象,对象名 p1
  4. */
  5. Person p1 = new Person();
  6. /*
  7. Person@15db9742
  8. Person 当前数据对应的数据类型,为 Person 类型
  9. @ 在哪里
  10. 15db9742 当前对象在内存堆区的地址。
  11. */
  12. System.out.println(p1);

        4.2 通过对象操作成员变量

例如:

int[] arr = new int[10];
arr.length ===> arr数组【的】容量

Java中目前通过类对象操作使用成员变量的方式
    类对象.成员变量 
        赋值 or 取值。

  1. // 通过类对象操作成员变量
  2. // 给予成员变量赋值操作 . 的
  3. p1.name = "张三";
  4. p1.age = 16;
  5. p1.gender = '男';
  6. // 取值成员变量数据 . 的
  7. System.out.println("Name:" + p1.name);
  8. System.out.println("Age:" + p1.age);
  9. System.out.println("Gender:" + p1.gender);

        4.3 通过对象操作成员方法

例如:

Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
float num = sc.nextFloat();

sc 是 Scanner 类对象,是一个对象名
    . 表示:的
    nextInt() nextFloat(); 方法。
格式:        类对象.方法名(实际参数);

  1. // 通过类对象调用成员方法
  2. // . 的
  3. p1.eat("烤羊排");
  4. p1.sleep();
  5. p1.coding();

5. 类对象内存分析图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/237740
推荐阅读
相关标签
  

闽ICP备14008679号