java和c++的不同
来源:互联网 发布:windows 最小化消息 编辑:程序博客网 时间:2024/05/18 10:13
1.Java程序中每个变量要么是基本数据类型,要么是对对象的引用。c++有许多基本类型,额外还有struct union,enum,数组和指针
2.c+=在很大程度上已经支持模板这种泛型编程思想,java目前仍未支持
3.c++支持运算符重载,java不支持这种多态机制。不过两种语言都支持方法重载
4.c++中为了允许运行时动态决定哪个函数被调用,一个函数必须用virtual修饰。凡是没有用virtual修饰的成员函数(包括static)都是静态绑定的。而在java中,除了static final private是静态绑定以外,所有方法一律按动态绑定处理
5.拷贝构造函数,c++里的深拷贝主要针对指针成员或引用成员,涉及内存操作。java中一般继承cloneable接口或序列化方法实现
6.c++支持inline函数,可以避免函数的堆栈调用,提高运行效率。java无这种语义。
7.c++中构造函数支持初始化列表,java不采用初始化列表这种构造机制
8.java使用abstract关键字修饰抽象方法或抽象类。c++的对等语法是“纯虚函数“和“抽象类“。两者都使用抽象类作为继承层次中的基类,提供一般概念,由子类实现且抽象类都不能被直接实例化为对象
9.java中有final关键字,修饰类、方法或变量,final类不能被继承,final方法不能被子类覆盖,final变量就是常量。c++没有final关键字,常量可以用const定义
(插播:java的代码行必须放到方法中或静态代码块中)
10.c++中静态成员变量表示为:A::x,必须在类外初始化。java中静态成员变量表示为:A.x,必须在类内初始化。c++中访问类方法用A::f(),java中访问类方法用A.f()
11 java中没有友元函数和友元类的概念,严格支持封装,c+=支持friend关键字
12 java中类或接口可以用public修饰,也可以不修饰class A extends (public)B c++中,c++有继承权限修饰符 class A:protected B, public C
13.java中有super关键字指代父类对象,被用于调用父类方法,c++没有关键字
14.java有包的概念,可以将类组织起来便于打包也有利于类的安全,c+=没有包的概念
15.c++无内置网络功能
16.c++程序员需要显示地实现动态内存管理,在析构函数中用delete运算符或free()函数释放对象和其它动态内存分配的数据空间 java不支持析构函数,垃圾收集是自动的
17.java平台无关,c++平台相关
18.java语言支持多线程,允许并发线程的同步与互斥,c++没有这种内在机制
最后,jaba主要应用于上层,c和c++主要哦应用于网络底层
- java 和 c/cpp 的不同
- C中^和Java中^的不同
- C语言和java的不同
- c/c++和java实现swap函数的不同处
- c/c++和java实现swap函数的不同处
- c/c++和java实现swap函数的不同处
- java与c的不同
- C++和C的不同
- C++、Java和Matlab不同语言关于 y=(++x)+(++x);结果不同的问题
- C.C++.C#.Java.Delphi中控制语句的相似和不同
- 【Java】Java与C的不同
- java和C++的不同
- java和C++的不同
- Qt和Java的不同
- java和c++的不同
- java和c++的不同
- JavaScript和客户端编程语言C++,java,objective-C的三大不同
- Java开发环境搭建与Java和C的不同(上篇)
- Java中4大基本加密算法解析
- android studio、java安装及环境变量配置
- 【Python】TypeError: 'module' object is not callable 原因分析
- 第八周项目5-计数的模式匹配
- 天线的互易原理
- java和c++的不同
- 第8周项目5 -计数的模式匹配
- 加密与解密
- C语言解决实际问题_002
- js实现图片点击放大
- 笔记--viewpager实现广告轮播
- array_reverse 与 krsort的区别
- keras的主要模块介绍
- ServletContext读取资源配置文件