Java 与 C++ 的区别(更新中)

这篇博客探讨了C、C++和Java三种编程语言的差异。作者从面向过程的角度介绍了C语言,然后过渡到C++,指出C++的库和面向对象特性。对于Java,强调其纯面向对象设计和跨平台能力,通过虚拟机实现。博客还讨论了指针、垃圾回收、多重继承和操作符重载等特性在两种语言中的不同处理方式。
摘要由CSDN通过智能技术生成

最开始学的是C,是面向过程的。

后来发现C++很多库可以简化很多函数,于是用C++面向过程写程序。

C++面向对象我没用过,只是用它的一些好用的函数或者函数库

再后来写Java,受到之前C和C++面向过程的影响,发现Java要用某个方法的时候,只能新建对象

故:Java 是纯粹的面向对象语言,所有的对象都继承自 java.lang.Object,C++ 为了兼容 C 即支持面向对象也支持面向过程。


学C的时候用Dev C++,苹果系统没有,而且基本上一样的源代码,放在Visual Stdio上就要改一些东西,C++的编译器也有很多种,g++,clang++等等,这个就和语言的历史有关了

故:Java 通过虚拟机从而实现跨平台特性,但是 C++ 依赖于特定的平台。


我用C++写函数的时候,参数就是传其他函数或者结构体或者变量的指针

Java 没有指针,它的引用可以理解为安全指针,而 C++ 具有和 C 一样的指针。

Java为什么没有指针?没有指针怎么实现链表?

 

Java 支持自动垃圾回收,而 C++ 需要手动回收。

Java 不支持多重继承,只能通过实现多个接口来达到相同目的,而 C++ 支持多重继承。

Java 不支持操作符重载,虽然可以对两个 String 对象执行加法运算,但是这是语言内置支持的操作,不属于操作符重载,而 C++ 可以。

Java 的 goto 是保留字,但是不可用,C++ 可以使用 goto。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值