Java面试基础:面向对象和面向过程的区别 |Java 刷题打卡

289 阅读2分钟

一、前言

新的Java 刷题打卡已经开始,但是昨天有事没有赶上首班车,不过没有关系,后来者居上,从今天开始就来参加这个刷题打卡活动,每天刷几道题,提升自己实力。

本文正在参加「Java主题月 - Java 刷题打卡」,对于Java相关的刷题知识这个专栏是首次做的,我会从简单到复杂来分享相关知识点,如有不妥之处,还请大佬指正。

要想分享Java相关的知识点,首先要知道的就是Java语言的特点。那么本道题目就来分享一下关于面向对象和面向过程的区别的知识点,具体分析如下所示。

二、知识点

1、面向过程 :

面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。

2、面向对象 :

面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。

三、对比

问题点:面向过程性能比面向对象高吗?

面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。

四、拓展延伸

其实这个并不是根本原因,面向过程也需要分配内存,计算内存偏移量,Java性能差的主要原因并不是因为它是面向对象语言,而是Java是半编译语言,最终的执行代码并不是可以直接被CPU执行的二进制机械码。而面向过程语言大多都是直接编译成机械码在电脑上执行,并且其它一些面向过程的脚本语言性能也并不一定比Java好。

五、总结

面向过程性能比面向对象高。通过上述二者的对比之后,应该知道了从基础知识到性能是面向过程性能更高一筹。以上就是本篇文章的知识点,欢迎指正批评。

头像1.jpeg