用了很久C++,突然要用Java,买了本《Java从入门到精通》,争取三天看完精通Java,读书笔记就放在这里吧。
第一章:
2分钟看完,老生常谈,即使没怎么用过java也知道这些。
第二章:
1.instanceof应该是c++中没有的,c++使用RTTI解决这个问题的,很难用。
2.super这种引用父类的方法也是比较简单的,C++中是用父类名::父类方法()解决的,有点难看。
贴点代码试试看?
- Java code
public class FatherClass { public void print(String str) { System.out.println("father print:"+str); }}public class SonClass extends FatherClass { public void print(String str) { System.out.println("son print:"+str); System.out.println("call father print."); super.print(str); }}public class TestSuperClass { /** * @param args the command line arguments */ public static void main(String[] args) { SonClass son = new SonClass(); son.print("Test"); }}
3.自动类型转换和C++一样,精度变高的随便转,精度变低的会丢失。
4.强制类型转换只有(type)这一种,不像c++有static_cast、dynamic_cast、reinterpret_cast、和const_cast。
5.运算符什么的和c++几乎一模一样。
半小时看完。
------解决方案--------------------------------------------------------
你都会C++了,除非看Haskell一类的,其他的都很简单了。
------解决方案--------------------------------------------------------
同学习,基本同c++一样
关键还是熟悉库
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
(上接15楼)
2.关于这点可能大多数接触Java不久的同鞋都还不清楚:
Java没有多维数组!
有些人可能认为
int[][] a=new int[5][7];
定义的a是二维数组,实质上不是。a指向的对象的实质是元素为数组的数组。按照C/C++的理解,实质上就是指针数组。因此它并不具备二维数组的特性:a的每个元素不一定是等长的,例如这样定义是完全可以的:
- Java code
int a[][] = new int[5][]; for (int i = 0; i < a.length - 1; i++) a[i] = new int[i + 1]; a[a.length - 1] = null;
------解决方案--------------------------------------------------------
可以去去看看那个马士兵的教程,尤其是输入输出流,讲的出神入化,我特别喜欢
------解决方案--------------------------------------------------------
2.java多线程有两种方法实现,第一是派生Thread类,第二种是实现Runnable接口。
你说的两种方法,仅仅是线程运行时需要执行的任务,而不是多线程的两种方法实现。Java 里的线程就 Thread 一种实现,并没有两种!
------解决方案--------------------------------------------------------
- Java code
POSIX threads jdk------------------ ----------------------------------------mutex java.util.concurrent.locks.Lockrwlock java.util.concurrent.locks.ReadWriteLockcond java.util.concurrent.locks.Condition
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------