Java和C++的区别杂记
1.java中的作用域描述符(类比于C++是通过"."来实现,Java中"类名.静态成员名",C++中"类名::静态成员名"
2.java中子类中不能修改继承到的成员的权限,但是C++中是可以的。
3.java中接口中声明的函数前需要加public
4.static方法,java中通过"类名.方法名"直接调用,C++中是使用作用域描述符"::"
5.java中声明的abstract抽象类可以值实例化interface的部分成员方法。
6.java中子类对象赋值给父类(或者是N级父类)直接体现出多态,而C++中的虚函数才能体现出多态。
7.java和C++中的异常相对于C而言,C中若子函数返回错误,错误值需要层层向上传递,最终程序由用户控制结束。而异常可以直接结束,省去了上层函数层层判断。
8.java中除了8种基本类型外其它的都是引用数据类型,对象A=对象B,只是又对那片存储区多增加了一个引用而已,C++中应该是值传递的。
9.java中的protected权限表示:本包、其它包的子类内部可以访问,C++中的protected表示只有子类中可以访问。
10.java中只有单继承,C++中有多继承。
11.java中定义模板类的方式:AAA<T>,C++中定义模板类的方式:template<typename T> class AAA
12.若子类中复写了父类中的方法,但是还想调用父类中的方法,java中:super.父类方法(),C++中:Parent::父类方法().
13.java中不能像C/C++那样在类外定义全局变量,eg int a = 10; java中的操作都需要在类中。
14.java中无unsigned关键字,例如unsigned int a = 10; 编译不过。注意java中只有这8种基本类型,不存在与unsigned组合:boolean byte char short int long float double。java中的只有boolean和char是unsigned的。java不像C/C++那样进行普通变量的类型转换,例如java中char a=10; int b=-1; if (a > b) 是成立的。
15.C++中没有指明类成员的权限默认是private的,java中没有指明默认是default的(本包可以访问)。
16.java中没有析构函数(不用指定析构函数,~ClassName()指定编译也报错),C++中有析构函数。
Java和C++的区别杂记的更多相关文章
- java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别
java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别 以前一直没有注意过这个问题,前两天机缘巧合上网查了一下,然后自 ...
- java 和javaw 的区别——<转>
java 和javaw 的区别 javaw.exe用法和java.exe 相同 javaw的程序不在java console 上面显示任何东西,如果在开发程序,就用java,这样可以看到错误提示, 如 ...
- java与javac的区别
1.前提:java分为两部分 一个是编译(javac命令),一个是运行(java命令) 2.java与javac的区别 javac负责的是编译,将.java文件编译成.class文件,当执行javac ...
- Java中equal和==区别及String创建过程
Java中equal和==区别 1.起因 在一段Java代码中,使用了两种实现方式. //第一种命令行输入 int main (String[] args) { if(args[0] == " ...
- Objective-C与Java类的一些区别
Objective-C与Java类的一些区别 OC类和C一样,需要有声明和定义,先上一段OC代码 #import <Foundation/Foundation.h> /* * 声明一个Pe ...
- java与javax的区别分析(转)
Java是一种受C语言影响的编程语言.Java和Javax本质上是与Java编程语言的上下文一起使用的包.实际上Java和Javax没有区别.这只是不同的名字. Java是一种编程语言,受到C语言的影 ...
- JAVA线程和进程区别
1,JAVA线程和进程区别? (1)简单来讲一个运行的程序就是一个进程,一个进程中可以有多个线程(线程是程序执行的最小单元). (2)线程有四种状态:运行,就绪,挂起,结束 (3)使用多线程的好处 使 ...
- Java HSSFworkbook,XSSFworkbook,SXSSFworkbook区别简述
Java HSSFworkbook,XSSFworkbook,SXSSFworkbook区别简述 一.HSSFworkbook,XSSFworkbook,SXSSFworkbook区别简述 用Java ...
- Dalvik VM (DVM) 与Java VM (JVM) 的区别?
Dalvik虚拟机存在于Android系统,JVM是java虚拟机,两者都是虚拟机,本文就对两者进行比较,讲述它们的不同. Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的 ...
随机推荐
- Java Swing 简单介绍
Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. Swing提供许多比AWT更好的屏幕 ...
- 3.6 C++继承机制下的构造函数
参考:http://www.weixueyuan.net/view/6363.html 总结: 在codingbook类中新增了一个language成员变量,为此必须重新设计新的构造函数.在本例中bo ...
- ubuntu14.04下搜狗输入法不能输入中文问题解决
解决方法如下: 一.重启搜狗输入法 通过下面的两个命令重启搜狗输入法 ~$ killall fcitx ~$ killall sogou-qinpanel 二.检查修复安装依赖 ~$ sud ...
- Java垃圾回收理解
gc是垃圾回收,Java的垃圾回收分为年轻代回收和老年代回收,其中年轻代回收速度快,频率高,因为Java对象大多具有朝生夕灭的特性,Java对象都是new出来的,当new出很多对象的时候,年轻代很容易 ...
- SQL-25 获取员工其当前的薪水比其manager当前薪水还高的相关信息
题目描述 获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date='9999-01-01',结果第一列给出员工的emp_no,第二列给出其manager的manager_ ...
- 10.Python-第三方库requests详解(二)
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...
- php usort
<?phpfunction re($a,$b){ return ($a>$b)?1:-1; }$x=array(1,3,2,5,9);usort($x, 're');print_r($x) ...
- 更换Homebrew为中科大源
官网:https://brew.sh/index_zh-cn /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com ...
- 面向对象+unittest+pytest
date:2018512+513 day07aft+day08mor 一.面向对象编程 1.定义类,类的继承 ps:与普通函数相比,在类中定义的函数第一个参数必须是类的本身实例变量self,在调用时, ...
- JAVA_模糊查询_重点是concat关键字
SELECT * FROM user WHERE username LIKE concat('%',#{username},'%') concat : 类似+ ,拼接sql.sql语句中会将+ 重写. ...