A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王昕 于 2013-2-7 23:49 编辑
黄玉昆 发表于 2013-2-7 23:23
你可以看看我新改的代码。结果会返回一个错误,是空指针异常,但是这个错我,我看了相关的文章,说是“空 ...


他其实想表达的意思是:“空指针异常发生在reference为null,但是用这个引用调用对象的方法。”
有时候翻译的人不分对象和引用,把reference翻译成对象,很容易误导人,因为C++里面Student s;这种语句就说成定义Student类型的对象s,但是Java还是说对象引用s,或者说引用s。
Java核心技术卷I是京京工作室翻译的,翻译毁了,卷II翻译的比较好。
包括Head first Java,中文版翻译的也是不大行,所以得有个英文的对着看。中文的百度文库有,英文的csdn有。
回复 使用道具 举报
王昕 发表于 2013-2-7 23:46
他其实想表达的意思是:“空指针异常发生在reference为null,但是用这个引用调用对象的方法。”
有时候翻 ...

忘了给你文章地址了:http://blog.csdn.net/wangkr111/article/details/7830079
回复 使用道具 举报
黄玉昆 发表于 2013-2-7 23:48
忘了给你文章地址了:http://blog.csdn.net/wangkr111/article/details/7830079

Head first Java 60页,就是讲建Dog数组对象和建Dog对象。百度文库一搜就有的。
http://wenku.baidu.com/view/4b0ff1d8d15abe23482f4d8a.html
回复 使用道具 举报
黄玉昆 发表于 2013-2-7 23:48
忘了给你文章地址了:http://blog.csdn.net/wangkr111/article/details/7830079

2:空指针异常发生在对象为空,但是引用这个对象的方法。例如: String s = null; //对象s为空(null) int length = s.length();//发生空指针异常

3:一个变量是null,及只有其名,没有实值内容,也没分配内存,当你要去取他的长度,对他进行操作就会出现NullPointException,所以生命一个变量时最好给它分配好内存空间,给予赋值。

这个人可能是先学的C++习惯了C++的说法。String s;他管 s 叫对象严格来说不合适。
他的3,其实就是说,一个引用是null,他说“只有其名”,就是说只有引用,“没有实质内容,也没分配内存”,就说没有new出来一个对象,他说“声明一个变量最好给它分配好内存空间”,就说让你声明的时候就new出来,不要只声明一个引用类型,而不给它new一个对象。
他写博客用词不会抠那么仔细,你看都有错别字,声明写成了“生命”。
对于老手管引用叫对象无所谓,他心里知道就行了,新手真的会以为是个对象。
可能你是觉得String s = "abc";没有new也有对象,所以 s 是对象,这句其实是String s = new String("abc");
回复 使用道具 举报
引用这个叫法,也不是太好,因为“引用”说话的时候经常会用到,也许真的是引用的意思而不是reference,所以有翻译叫“句柄”。
回复 使用道具 举报
王昕 发表于 2013-2-8 00:05
引用这个叫法,也不是太好,因为“引用”说话的时候经常会用到,也许真的是引用的意思而不是reference,所 ...

嗯,或许这怎么说是不太好,但是既然是公认叫法,就只能这样了。
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 加入黑马