|Data abstraction and encapsulation
|Interface and packages
|API (Application Programming Interface)
inheritance here is a bit difference between C++ and java. C++ supports are both single as well as multiple, multiple is a very complex inheritance mechanism. On the other hand, does not support multiple inheritances, supports only single inheritance. And, then operator overloading this is another important things; that means, that different operator, for example, the CPP can be used for adding two numbers, plus can be used for adding two documents like this is a polymer print concept actually.
Operator overloading is a concept of polymorphism. C++ allows operator overloading whereas, Java does not allow operator overloading. And, then template classes these basically C++ allow template class; that means, one template means is basic class can be developed which basically not suitable for creating an object, but it is a template only. But Java does not give any facilities to create a template class. There are few more things like a pointer is possible pointer is not possible in Java whereas, the pointer is possible in C++. And, interface and packages Java is a very good one features regarding this whereas, in C++, does not have.