简单易学面向对象(封装,继承,多态)平台无关性(java虚拟机实现平台无关性)可靠性安全性支持多线程(C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而java语言却提供了多线程支持)支持网络编程并且很方便(java语言诞生本身就是为简化网络编程设计的,因此java语言不仅支持网络编程而且很方便)编译与解释并存