摘要: 花了十天看完了《java编程思想》,我似乎能够体会到当时c++程序员看到java时那种兴奋的感觉了,相比c++而言这确实是一种比较现代的语言——当然这不是说c++不好,C++还是我心中最强大的语言。 虽然十天的时间基本不可能对java 有一个什么比较深入的了解,但是也算入了个门了。 其实算来这是我第二次学习java了,第一次看的是java核心技术,看了几章就放弃了,说不出什么原因,总觉得这门语言不适合我,今天回想起来总算是找到原因了——太繁琐。 java这门语言真的像有些人说的那样,就像一艘豪华游轮,里面什么都有,就是不太灵活,就拿书中的样例来说吧,完成一个功能,需要大片大片的代码,... 阅读全文
posted @ 2012-11-20 01:43 HighFUN 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 1、java的多线程和其他的语言有明显的不同,多线程的类是采用一个继承的方法。 1 import java.io.File; 2 import java.lang.reflect.Constructor; 3 import java.util.*; 4 5 class MyThread extends Thread{ 6 public void run(){ 7 System.out.println("This is Hellow world from thread"); 8 } 9 }10 public class HellowWorld {... 阅读全文
posted @ 2012-11-20 00:36 HighFUN 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 1、java io主要有:字节数组、string对象,管道,文件,其他java的outputstream是写文件的拥有write方法,inputstream是读文件的,拥有read方法。管道和Linux重的管道的完全不同,Linux是一个文件,java用的是内存,所以java提供的标准库是不能进行有名管道操作的。2、File类file能够新建一个文件,也能够新建一个目录。1 File f = new File("/111.txt");2 f.mkdir(); //新建目录3 try{4 f.createNewFile()... 阅读全文
posted @ 2012-11-14 22:48 HighFUN 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1、finalize函数java的finalize函数是用来清除垃圾用的,虽然java有自己的清除机制,但是在调用其他语言的dll的时候,不能保证这些dll的申请的内存会被释放,所以在finalized函数中释放。2、方法重载java和C++的一个区别是,可以对继承的函数进行重载,比如说class AAA{ public void fun(){};}class BBB extends AAA{ public void fun(int i){ };}在java中,BBB的类是可以调用fun()和fun(int i)的,但是在C++中,只能调用fun(int i),而fun(... 阅读全文
posted @ 2012-11-12 22:31 HighFUN 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 第一章给我印象比较深的是这段话。Alan Kay总结了Smalltalk的五大基本特征。这是第一种成功的面向对象程序设计语言,也是Java的基础语言。通过这些特征,我们可理解“纯粹”的面向对象程序设计方法是什么样的: (1) 所有东西都是对象。可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。 (2) 程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象“发送一条消息”。更具体地讲,可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函 阅读全文
posted @ 2012-11-09 23:25 HighFUN 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 1、函数异常void fun() throw(runtime_error);表明该函数能够抛出一个runtime_error的异常。void fun() throw();空说明表示该函数不抛出任何异常。异常说明是函数声明的一个部分。声明处的异常和实现处的异常必须一样。如果函数内部抛出了一个违反说明的异常,那么就调用unexpected函数比如说void f() throw(){ throw exception();}上面的函数已经说明了不会抛出异常,但是还是抛出了一个异常,这时就会调用unexpected函数。2、类的继承当从一个类继承的时候,函数的异常也会从基类继承出来,如果基类是抛出了一. 阅读全文
posted @ 2012-11-07 23:52 HighFUN 阅读(304) 评论(0) 推荐(0) 编辑
摘要: C++标准库的智能指针是一个模版类,为动态分配的对象提供异常安全。——非常不好用。1、创建auto_ptr<int> ap;auto_ptr<int> ap1(ap);auto_ptr<int> ap2(p);第一个是创建未绑定自动指针;第二个是将自动指针ap传递给ap1,ap1指向ap原来的指针,同时ap变成未绑定的自动指针。第三个是创建一个绑定指针的p的自动指针。2、赋值1 ap1 = ap2;将ap2的指针传递给ap1,同时ap2变成未绑定的3、绑定对象的引用*ap4、ap.reset(p) 将ap绑定到p。5、ap.release()返回ap绑定的指 阅读全文
posted @ 2012-11-06 00:02 HighFUN 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1、寄存器变量 寄存器变量是存放在寄存器中的,使用关键字register来定义,寄存器变量只能定义在函数中,不能用取地址符“&”来操作,因为它在寄存器中,不在内存中,因此没有地址,寄存器变量数量是有限制的,超过限制的变量自动转为自动变量。其优点是速度快。2、volatilevolatile表示的是变化的,异变的。告诉编译器不要去假设这个变量的值,每次使用的时候要重新读取这个变量的值。 一般在嵌入式的开发中比较常见,或者在多线程中比较常见。 1 int i = 0; 2 void fun(LPVOID p) 3 { 4 i = 3; 5 cout<<"fun&quo 阅读全文
posted @ 2012-10-31 00:47 HighFUN 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1、八进制数 int a = 010;八进制数以0开头,上面的a是9不是10;2、define一个常数#define A 123456UL其中UL表示是一个非负的长整数,一般在16位系统中会这么做。3、#define一个min函数#define MIN(a,b) ((a)<(b)?(a):(b))很多人忘记了最外面的括号4、typedef和define的区别typedef是编译的一部分,typedef是一个别名,因此具有类型检查的功能。define是预编译的一部分,发生在编译之前,仅仅是进行简单的字符串的替换,没有类型检查的功能。另外define可以实现函数的功能,但是typedef不行 阅读全文
posted @ 2012-10-25 00:10 HighFUN 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 问题背景:一个机器人,给他下达一个命令,让它按照命令的内容进行相应的移动。最后输出机器人的位置。题目很简单,我很快写好了一个类class robot{public: void SetCmd(string Cmd); void SetPos(Point Pos); void Action();private: Point Pos; string Cmd;}有人说,你这样写不好,SetCmd和SetPos这两个方法是多余的,可以直接合并到构造函数中去。class robot{public: robot(string Cmd, Point Pos); voi... 阅读全文
posted @ 2012-09-19 23:47 HighFUN 阅读(407) 评论(0) 推荐(0) 编辑