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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹晓涵 中级黑马   /  2012-3-11 16:55  /  3977 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中所有的类都继承了java.lang.Object类,而在C++中没有像java.lang.Object这样的类,这是为什么呢?都是面向对象,Java这样做有什么好处?Java有指针但没有传统指针的麻烦如何解释?

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

1 个回复

倒序浏览
JAVA:它不是没有指针,而是对指针进行了伪装:使用上泛化、强化和简单化,概念上淡化和弱化。。。 C++中可以有对象类型的变量和对象指针类型,两者的区别如下: Object oo = Object(); Object * oop = new Object(); 也就是说当使用new方式时,是动态为对象分配内在并将地址赋给oop这个指针变量。 JAVA中只有一种相关类型:对象类型,可是它的表现形式却是这样的: Object oo = new Object(); 比较一下,原来它就是使用了C++的动态内在分配方式创建了一个对象,并把地址返回给了oo变量,也就是说oo本质上就是一个指针变量

C++是支持多重继承的,但JAVA是单一继承的,让所有的类都继承 Object 也有好处,比如垃圾收集很有利;C++支持直接操作指针,一个指针可以指向任何一个对象,而JAVA不直接操作指针,所有的类都继承 Object 方便对象之间的转换。

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马