JAVA和C++都是面向对象的编程语言。都具有面向对象思想的特性(封装,继乘,多态)。但是因为c++为兼容C,影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。 
   Java和c++的相似之处多于不同之处,但两种语言问几处主要的不同使得Java更容易学习,并且编程环境更为简单。 
两者区别:

指针: 
     相对于C++的指针而言,java不存在指针这一说,因为java是运行在java虚拟机上的,所以这些问题都被虚拟机处理了,从而减少成程序员因为指针而出错。
多重继承 
      c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能,又避免了c++中的多重继承实现方式带来的诸多不便。 
跨平台

   java的语言的跨平台,因为java运行在java虚拟机上,所以只要有java虚拟机的地方就可以运行java程序。