预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Java从入门到精通读书笔记—c++程序员学java 第一章: 2分钟看完,老生常谈,即使没怎么用过java也知道这些。 第二章: 1.instanceof应该是c++中没有的,c++使用RTTI解决这个问题的,很难用。 2.super这种引用父类的方法也是比较简单的,C++中是用父类名::父类方法()解决的,有点难看。 3.自动类型转换和C++一样,精度变高的随便转,精度变低的会丢失。 4.强制类型转换只有(type)这一种,不像c++有static_cast、dynamic_cast、reinterpret_cast、和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属性,使用简单。c++的数组不自带方法和属性,要知道数组长度只能sizeof(arrayObject)/sizeof(int)。当然如果使用STL中的vector之类的也和java一样简单。 3.java的所谓数组赋值(或者叫数组拷贝)其实就是c++中的两个数组指针的赋值,java没有指针,所以作者费了一大堆口水。好在java有垃圾回收,要不然一个指针的内存就算泄露了。至于真正的数组内容赋值,是使用System.arraycopy(ir,srcPos,ir,destPos,length);而C++一般使用memcpy等函数。若使用STL中的vector,那么就看vector的拷贝构造函数怎么写的,应该是vector的对象赋值过去而不是指针指过去。 4.重温了冒泡排序(时间复杂度O(n2)),和快速排序(最坏情况的时间复杂度为O(n2),最好情况时间复杂度为O(nlog2n))。 5.For-Each语法被引入java了,在很多地方用起来真是简单。Python和c#早就支持了,c++中虽然STL的algorithm包中引入了for_each,但是由于需要使用函数指针还是略显繁琐。 这章挺多,看了一个多小时啊! 第五章:类和对象 1.Java中方法的重载和c++的一样,都是通过参数的不同来区别。但是c++中可以设置默认参数,而java不可以。 2.java中的对象大部分只能new出来,或者clone出来,或者反射出来,而不能直接在栈上定义出来。而c++的对象在栈上和堆上创建的都很多。 3.基本类型的参数传递,java和c++都是传值。对象的参数传递,java是传引用,c++是拷贝,也就是传值。其实c++中大部分时候也是传引用或者传指针,但java没有指针,也没有选择耗时耗空间的拷贝,只能传引用了。 这章对于c++程序员来说太简单,几分钟过一遍就可以了。 第六章:继承 1.方法被覆写后,如果要调用父类的方法,c++必须用父类名::方法名,而java用super.方法名即可。 2.多态和动态绑定,java和c++几乎一样,都很简单。 3.final关键字:java中的final关键字可以将一个类限制为无法继承的,同样的还有C#中的sealed关键字。而c++是没有这个玩意的。 4.java的抽象类和c++几乎一样。 5.java是独根语言,引入了Object类,它的clone方法就好像c++中的拷贝构造函数,它的equals方法是用来比较内容的,而toString方法是将对象作为字符串输出的。 这章对于c++程序员来说同样简单,几分钟过一遍就可以了。 第七章:接口 1.java中有接口。C++没有,唯一类似的是含有纯虚函数的虚类(没有纯虚基类这个说法)。但是COM、CORBA等中间件中都有IDL语言(接口定义语言),使用这些中间件的c++程序员也没有少写接口。 2.接口实现的一些规定: 1)如果实现接口的不是抽象类,则必须实现其接口的所有方法才能被实例化; 2)接口中所有的方法默认为public; 3.接口可以用来实现多态; 4.java的内部类和c++差不多,都没人关心,最多懒得想名字的时候用用那个匿名内部类(例如什么UI的响应函数)。 5.java的对象克隆,吹了一堆就是个c++中的拷贝构造函数。所谓什么“浅克隆、深克隆”问题,就是c++中拷贝构造是遇上类中定义了指针的问题。C++程序员一望即知。 接口是为了维护单继承机制弄出来的,花半