zoukankan      html  css  js  c++  java
  • Java基础-面向对象(08)

    面向过程

    完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现。一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。

    面向对象

    当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了,这时就开始思索,能不能把这些步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面向对象的思想。

    面向对象是基于面向过程思想。

    思想特点

    是一种更符合我们思考习惯的思想
    可以将复杂的事情简单化
    将我们从执行者变成了指挥者

    面向过程和面向对象关系和区别

    面向对象是基于面向过程思想。

    面向过程:强调的是每一个功能的步骤。
    面向对象:强调的是对象,由对象去调用功能。

    类与对象的关系

    我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。

    现实世界事物信息化:

    属性: 就是该事物的描述信息
    行为: 就是该事物能够做什么

    Java中描述事物也是如此

    成员变量:  就是事物的属性
    成员方法:  就是事物的行为

    类和对象关系:

    类:是一组相关的属性和行为的集合
    对象:是该类事物的具体体现

    类实例化对象:

    类名 对象名 = new 类名();
    对象名.成员变量
    对象名.成员方法

    JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)

    堆区:
    1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)
    2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身

    栈区:
    1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
    2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。
    3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。

    方法区:
    1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
    2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。 

    成员变量和局部变量的区别

    在类中的位置不同

    成员变量 类中方法外
    局部变量 方法内或者方法声明上

    在内存中的位置不同

    成员变量 堆内存(实例化时在堆中,并且赋初值)
    局部变量 栈内存(方法执行时方法从方法区中调到栈中执行,这时候局部变量才开始存在)

    生命周期不同

    成员变量 随着对象的存在而存在,随着对象的消失而消失
    局部变量 随着方法的调用而存在,随着方法的调用完毕而消失

    初始化值不同

    成员变量 有默认的初始化值
    局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。

  • 相关阅读:
    git 学习笔记 ---远程仓库
    git学习笔记 ---删除文件
    git 学习笔记 ---撤销修改
    git学习笔记 ---管理修改
    git学习笔记 ---工作区和暂存区
    git学习笔记 ---版本退回
    git 学习笔记 ---安装
    windows删除或修改本地Git保存的账号密码
    win10企业版永久激活方法
    IntelliJ IDEA 插件开发视频教程
  • 原文地址:https://www.cnblogs.com/aeolian/p/7753989.html
Copyright © 2011-2022 走看看