【Java】Java与C/C++的不同点总结

2023-10-31

Java是在C++的基础上发展而来,但是与C++还是有不同点的。总结如下:

不同点

  1. C++ 支持指针,而 Java 没有指针的概念。Java中起类似作用的是引用。
  2. C++ 支持多继承,而 Java 不支持多重继承,但允许一个类实现多个接口。
  3. Java 是完全面向对象的语言,并且还取消了 C/C++ 中的结构(Struct)和联合(Union),使编译程序更加简洁。
  4. Java 自动进行无用内存回收操作,不再需要程序员进行手动删除,而 C++ 中必须由程序释放内存资源,这就增加了程序员的负担。
  5. Java 不支持操作符重载,操作符重载则被认为是 C++ 的突出特征。
  6. Java 允许预处理,但不支持预处理器功能,所以为了实现预处理,它提供了引入语句(import),但它与 C++ 预处理器的功能类似。
  7. Java 不支持缺省参数函数,而 C++ 支持 。
  8. C 和 C++ 不支持字符串变量,在 C 和 C++ 程序中使用“Null”终止符代表字符串的结束。在 Java 中字符串是用类对象(String 和 StringBuffer)来实现的。
  9. goto 语句是 C 和 C++ 的“遗物”,Java 不提供 goto 语句,虽然 Java 指定 goto 作为关键字,但不支持它的使用,这使程序更简洁易读。
  10. Java 不支持 C++ 中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。

参考

Java和C/C++到底有什么关系,它们有什么区别?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Java】Java与C/C++的不同点总结 的相关文章

随机推荐

  • window安装Linux

    一 安装VMware 可通过VMware官网VMware Delivering a Digital Foundation For Businesses下载正版VMware 下载完成后直接打开 或使用管理员身份运行 点击是 点击下一步 点击我
  • 最简单的网页登录注册功能讲解及其实现

    目录 前言 结构 创建数据库存储账户信息 html注册页面 注册处理后台程序 html登录页面 后台登录处理程序 演示 前言 最近打算做一个网页登录的练习 今天撸一个最简单的demo 记录一下学习的过程 结构 实现一个网页最基本的注册与登录
  • SpringSecurity系列 之 集成第三方登录(包括默认的用户名密码、短信验证码和github三种登录方式)

    一 前言 前面在 SpringSecurity系列 之 认证过程和原理 一文中 我们已经学习了SpringSecurity的认证过程 实现过程如下图所示 根据这个认证过程 我们如何实现集成多种第三方登录的方案呢 我们这里提供了一种思路 首先
  • (若依)RuoYi后台管理框架前端

    若依后台管理 官方网址 后台管理二开推荐 官网的源码地址可供下载前后端代码 最近进到公司后跟着团队接了两家公司的App一套的开发 到公司的第一天就是先配置开发环境 安装软件之类的 第二天 带着熟悉RuoYi框架 很巧带我的大哥和我是一个学校
  • 关于一些奇葩的兼容bug

    iPhoneXr canvas层级失效 大致就是这样 一个img在canvas上面 所有手机img正常显示 就是ios的这个机型有问题 系统版本14 0 img的层级不论多大都会被canvas覆盖 解决办法尽然是将canvas的层级设置为
  • Ubuntu下FastDFS环境的安装搭建

    Ubuntu下FastDFS环境的安装搭建 一 FastDFS简介 FastDFS是一个个人开发的 轻量级的 开源的分布式文件系统 纯C语言编写 其功能包括 文件存储 文件同步 文件访问 文件上传 文件下载 等 解决了大容量存储和负载均衡的
  • Qt主线程卡死,竟然与X11 的 _XReply() 有关

    在ubuntu系统下运行Qt程序 Qt的程序就相当于X11的一个客户端 受X11的限制 近期 在处理一起离奇事件 发现UI的qt界面已经卡死了 无鼠标键盘任何反应 但程序是运行的 比如与其他设备通信是正常的 说明程序本身没有死掉 通过断点
  • 中移链Java-SDK实战使用

    id BSN 2021 公众号 BSN研习社 作者 中移信息 中移链是基于EOS区块链框架改造 满足BSN开放联盟链要求 符合国内监管政策 BSN开放联盟链 BSN Open Permissioned Blockchain 简称OPB 包括
  • ★教程1:matlab学习教程入门100例目录

    1 订阅本教程用户可以免费获得本博任意2个 包括所有免费专栏和付费专栏 博文对应代码 私信博主给出代码博文的链接和邮箱 2 本MATLAB课程的所有案例 部分理论知识点除外 均由博主编写而成 供有兴趣的朋友们自己订阅学习使用 未经本人允许
  • React性能优化的8种方式了解一下

    react凭借virtual DOM和diff算法拥有高效的性能 除此之外也有很多其他的方法和技巧可以进一步提升react性能 在本文中我将列举出可有效提升react性能的几种方法 帮助我们改进react代码 提升性能 但是我们不必一定要在
  • 记一次Mac挖矿病毒的处置

    title 记一次Mac挖矿病毒的处置 前言 网络安全圈一年一度的叉叉行动的前期准备过程中 在客户现场进行失陷主机监测和处置 通过态势感知发现某台终端主机有每五分钟向矿池 43 249 204 183 8888 发起一次连接请求的情况 态势
  • Python +selenium 实现自动校园网页登录 (Firefox)

    目的 通过分析页面 实现校园网自动输入账号密码 点击登录的操作 环境部署 win10 Firefox 87 64位 python 3 9 安装selenium pip install selenium 安装driver for firefo
  • 小红书评分8.7(从零开始学Python),入门新手必看

    前言 Python 是一种面向对象 解释型计算机程序设计语言 由 Guido van Rossum 于 1989 年底发明 第一个公开 发行版发行于 1991 年 Python 语法简洁而清晰 具有丰富和强大的类库 它常被昵称为胶水语言 能
  • window10基于WSL,通过ppa快速搭建LNMP环境,打造thinkphp6+swoole+docker开发环境(php8.0,对其他版本也适用)

    安装WSL2和UBUNTU 换源 两种方式都行 不过改之前都要记得备份 1 一行语句搞定 sudo sed i s archive ubuntu com mirrors ustc edu cn g etc apt sources list
  • PLSQL环境配置详细步骤

    下载PLSQL和instantclient 配置PLSQL 打开plsql 点击取消按钮 会进入主界面 点击配置 有的版本是选择Tools 首选项 第一个选项 选择Oracle client 安装的主目录D PLsql InstantCli
  • 软件测试与质量 第一章

    目录 一 什么是软件测试 1 1 测试目的 1 2 测试内容 手段和过程 1 2 1 手工动态测试涉及的工作 1 2 2 静态检查 1 2 3 自动化动态测试系统涉及的工作 1 2 4 软件测试的流程 1 3 小结 1 4 软件测试的分类
  • UE4 C++(20) UnrealPak打包和打补丁

    12 27 2020 文章目录 前言 打包 Package 资源类型 执行打包命令 HotPatcher插件 获取资源信息 GetAssetData 路径转换 ConvLongPackageNameToPackagePath 获取资源GUI
  • 最小生成树之普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法

    作者 STzen 链接 https www jianshu com p 683ffde4f3a3 来源 简书 最小生成树 列子引入 如图假设v0到v8表示9个村庄 现在需要在这9个村庄假设通信网络 村庄之间的数字代表村庄之间的直线距离 求用
  • 力扣刷题-47.全排列Ⅱ、深度优先搜索

    给定一个可包含重复数字的序列 返回所有不重复的全排列 深度优先搜索 DFS 深度优先搜索就是在每一步对每一种可能的选择一条道走到底 然后再回过头尝试另外一种选择 深度优先搜索的关键是要考虑 当前这一步 该如何做 至于 下一步 该怎么做和当前
  • 【Java】Java与C/C++的不同点总结

    Java是在C 的基础上发展而来 但是与C 还是有不同点的 总结如下 不同点 C 支持指针 而 Java 没有指针的概念 Java中起类似作用的是引用 C 支持多继承 而 Java 不支持多重继承 但允许一个类实现多个接口 Java 是完全