• Java学习之==>面向对象编程 Part1


    一、面向对象与面向过程

    1、面向过程

    • 角度是功能,以方法为最小单位,思考的是具体怎么做。

    2、面向对象

    • 角度是抽象,以类为最小单位,思考的是谁来做。

    3、示例:“小明去上班”

    • 面向过程
      • 起床,刷牙洗脸,出门,打车,上车,出发,上班;
    • 面向对象
      • 小明: 起床,刷牙洗脸,出门,打车,付钱,上班;
      • 司机: 开车,收钱
      • 车: 跑

    二、类和对象

    1、概述

      • 属性,方法,构造器,代码块;
      • 类属性,静态方法,静态代码块;
      • 内部类,匿名内部类;
    • 对象/实例
      • 类(模板,图纸,规范) -> 对象(实实在在的”生物”);
      • Class -> new -> Instance;
    • 特性
      • 封装,继承,多态;
    • 语法
      • 关键字: this, super, class, final, static, private, public, protected, abstract, interface, package;
      • 初始化流程: .java -> .class-> 类 -> 对象 -> 运行

    2、内存示意图

    3、成员变量&局部变量

    • 相同点
      • 都是变量,定义语法一致
    • 不同点
      • 作用域不同;
      • 存储位置不同;
      • 编写位置不同;
    • 注意
      • 就近原则;

    4、方法

    • 返回值
      • 无返回值(void);
      • 有返回值(Object);
    • 形参
      • 值传递(基本数据类型);
      • 引用传递(引用数据类型);
    • 备注
      • 权限修饰符与封装一起;

    5、构造器

    • 本质
      • 实例化一个类时所使用的特殊”方法”;
      • 任何一个类都有一个默认的构造器
    • 作用
      • 丰富实例化时的数据传入;
    • 注意
      • 构造器可以有多个即重载;
      • 显示定义一个构造器,默认的就会被覆盖;

    6、this关键字

    • 本质
      • 指向当前对象的指针;
    • 理解
      • 编写的代码所在的位置是类,而对象是基于类的产物,是后期产生的;
      • 当在编写一些属性或方法时,还并不知道对象是谁,因此使用一个”指针”(编写代码时还不确定是谁)来占位;
      • this就代表当前创建的对象;

    三、类和对象总结

    • 概述
      • 同一个类创建的不同对象本质上是两个独立的;
      • 我们编写的class其实是一个模板,它不干活;
      • 真正干活的是new出来之后的那个对象;
    • 区别
      • 本质: 编写的是类, 运行的是对象;
      • 存储位置: 类存储在方法区,对象存储在堆中;
    • 注意
      • 类本身也是对象Class;
  • 相关阅读:
    python之list,tuple,str,dic简单记录(二)
    python 实现简单点名程序
    python random使用生成随机字符串
    第三方库PIL简单使用
    python Tkinter图形用户编程简单学习(一)
    python之list,tuple,str,dic简单记录(一)
    javascript 对象简单介绍(二)
    iOS使用NSMutableAttributedString 实现富文本(不同颜色字体、下划线等)
    iOS 10 因苹果健康导致闪退 crash
    iOS 10 创建iMessage App
  • 原文地址:https://www.cnblogs.com/L-Test/p/11350810.html
Copyright © 2020-2023  润新知