java从入门到精通读书笔记—c++程序员学java

java从入门到精通读书笔记—c++程序员学java

ID:14972457

大小:35.50 KB

页数:4页

时间:2018-07-31

java从入门到精通读书笔记—c++程序员学java_第1页
java从入门到精通读书笔记—c++程序员学java_第2页
java从入门到精通读书笔记—c++程序员学java_第3页
java从入门到精通读书笔记—c++程序员学java_第4页
资源描述:

《java从入门到精通读书笔记—c++程序员学java》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java从入门到精通读书笔记—c++程序员学java第一章:2分钟看完,老生常谈,即使没怎么用过java也知道这些。第二章:1.instanceof应该是c++中没有的,c++使用RTTI解决这个问题的,很难用。2.super这种引用父类的方法也是比较简单的,C++中是用父类名::父类方法()解决的,有点难看。3.自动类型转换和C++一样,精度变高的随便转,精度变低的会丢失。4.强制类型转换只有(type)这一种,不像c++有static_cast、dynamic_cast、reinterpret_cast、

2、和const_cast。5.运算符什么的和c++几乎一模一样。半小时看完。第三章:1.break可以跳出语句块,c++中没有语句块。语句块的定义就是在一段语句前加上花括号和冒号;其他基本上和c++一样,5分钟看完。第四章:1.java数组越界会在运行时抛异常,c++不会,声明数组的方法也有些不一致。java声明数组的所有办法int[]a=newint[4];inta[]=newint[4];int[]a={1,15,26};inta[]={1,15,26};2.java的数组是一个对象,自带length属性,

3、使用简单。c++的数组不自带方法和属性,要知道数组长度只能sizeof(arrayObject)/sizeof(int)。当然如果使用STL中的vector之类的也和java一样简单。3.java的所谓数组赋值(或者叫数组拷贝)其实就是c++中的两个数组指针的赋值,java没有指针,所以作者费了一大堆口水。好在java有垃圾回收,要不然一个指针的内存就算泄露了。至于真正的数组内容赋值,是使用System.arraycopy(ir,srcPos,ir,destPos,length);而C++一般使用memcpy

4、等函数。若使用STL中的vector,那么就看vector的拷贝构造函数怎么写的,应该是vector的对象赋值过去而不是指针指过去。4.重温了冒泡排序(时间复杂度O(n2)),和快速排序(最坏情况的时间复杂度为O(n2),最好情况时间复杂度为O(nlog2n))。5.For-Each语法被引入java了,在很多地方用起来真是简单。Python和c#早就支持了,c++中虽然STL的algorithm包中引入了for_each,但是由于需要使用函数指针还是略显繁琐。这章挺多,看了一个多小时啊!第五章:类和对象1.

5、Java中方法的重载和c++的一样,都是通过参数的不同来区别。但是c++中可以设置默认参数,而java不可以。2.java中的对象大部分只能new出来,或者clone出来,或者反射出来,而不能直接在栈上定义出来。而c++的对象在栈上和堆上创建的都很多。3.基本类型的参数传递,java和c++都是传值。对象的参数传递,java是传引用,c++是拷贝,也就是传值。其实c++中大部分时候也是传引用或者传指针,但java没有指针,也没有选择耗时耗空间的拷贝,只能传引用了。这章对于c++程序员来说太简单,几分钟过一遍就

6、可以了。第六章:继承1.方法被覆写后,如果要调用父类的方法,c++必须用父类名::方法名,而java用super.方法名即可。2.多态和动态绑定,java和c++几乎一样,都很简单。3.final关键字:java中的final关键字可以将一个类限制为无法继承的,同样的还有C#中的sealed关键字。而c++是没有这个玩意的。4.java的抽象类和c++几乎一样。5.java是独根语言,引入了Object类,它的clone方法就好像c++中的拷贝构造函数,它的equals方法是用来比较内容的,而toString

7、方法是将对象作为字符串输出的。这章对于c++程序员来说同样简单,几分钟过一遍就可以了。第七章:接口1.java中有接口。C++没有,唯一类似的是含有纯虚函数的虚类(没有纯虚基类这个说法)。但是COM、CORBA等中间件中都有IDL语言(接口定义语言),使用这些中间件的c++程序员也没有少写接口。2.接口实现的一些规定:1)如果实现接口的不是抽象类,则必须实现其接口的所有方法才能被实例化;2)接口中所有的方法默认为public;3.接口可以用来实现多态;4.java的内部类和c++差不多,都没人关心,最多懒得想

8、名字的时候用用那个匿名内部类(例如什么UI的响应函数)。5.java的对象克隆,吹了一堆就是个c++中的拷贝构造函数。所谓什么“浅克隆、深克隆”问题,就是c++中拷贝构造是遇上类中定义了指针的问题。C++程序员一望即知。接口是为了维护单继承机制弄出来的,花半小时看看还是值得的。第八章:面向对象编程C++程序员不用看。第九章:异常处理1.java的异常处理中有finally语句块,而c++中没有,所以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。