博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础-面向对象(08)
阅读量:6573 次
发布时间:2019-06-24

本文共 1317 字,大约阅读时间需要 4 分钟。

面向过程

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

面向对象

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

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

思想特点

是一种更符合我们思考习惯的思想

可以将复杂的事情简单化
将我们从执行者变成了指挥者

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

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

面向过程:强调的是每一个功能的步骤。

面向对象:强调的是对象,由对象去调用功能。

类与对象的关系

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

现实世界事物信息化:

属性: 就是该事物的描述信息

行为: 就是该事物能够做什么

Java中描述事物也是如此

成员变量:  就是事物的属性

成员方法:  就是事物的行为

类和对象关系:

类:是一组相关的属性和行为的集合

对象:是该类事物的具体体现

类实例化对象:

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

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

堆区:

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

栈区:

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

方法区:

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

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

在类中的位置不同

成员变量 类中方法外

局部变量 方法内或者方法声明上

在内存中的位置不同

成员变量 堆内存(实例化时在堆中,并且赋初值)

局部变量 栈内存(方法执行时方法从方法区中调到栈中执行,这时候局部变量才开始存在)

生命周期不同

成员变量 随着对象的存在而存在,随着对象的消失而消失

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

初始化值不同

成员变量 有默认的初始化值

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

 

转载于:https://www.cnblogs.com/aeolian/p/7753989.html

你可能感兴趣的文章
关于网站注册账号时提示Server 对象 错误 'ASP 0177 : 800401f3'
查看>>
Authentication failure
查看>>
配置使用Powershell管理Azure Stack
查看>>
我的友情链接
查看>>
python中的字符串
查看>>
如何开启MySQL的慢查询日志
查看>>
函数函数
查看>>
sort_uniq.sh
查看>>
隆冬寒骨,风吹十一豪迈
查看>>
ConcurrentHashMap内部原理浅析
查看>>
redis.conf
查看>>
我的友情链接
查看>>
php底层运行机制(二)
查看>>
单用户模式
查看>>
修复微商城提交购物车时部分手机号码不识别
查看>>
我的友情链接
查看>>
nginx+keepalived构建主备负载均衡代理服务器
查看>>
强大的日志分析工具AWStats经典备忘
查看>>
java类的加载,链接,初始化
查看>>
使用Zabbix2.2自带的Mysql监控模板监控数据库
查看>>