Java and C++ Some of the similarities and differences are in the following table: Features Java C/C++ Pointer No Yes Operator Overload No Yes Typedef, Define,
Structures, Unions No Yes Enums No Yes Functions No (only methods within classes) Yes Goto statement No Yes Automatic CoercionsNo(types should be converted explicitly) Yes Global Variables No. Variable is part of a class Yes Templates No Yes Private, Protected, Public
Default parameters No Yes Garbage Collection Yes No Multi-thread support Yes No Multiple Inheritance
Yes. Supports only interface inheritance and not implementation inheritance!
Exception Handling
Yes. try/catch must be defined if the function declares that it may throw
an exception.
Function Overload Yes Yes Internationalization Yes Yes Include of other Objects #import #include Comments
"//","/* */,/** */
"//","/* */"
What are the main differences between Java and C++? Everything is an object in Java (Single root hierarchy as everything gets derived from java.lang.Object). Java does not have all the complicated aspects of C++ ( For ex: Pointers, templates, unions, operator overloading, structures etc..). The Java language promoters initially said "No pointers!", but when many programmers questioned how you can work without pointers, the promoters began saying "Restricted pointers." You can make up your mind whether it’s really a pointer or not. In any event, there’s no pointer arithmetic. There are no destructors in Java. (automatic garbage collection). Java does not support conditional compile (#ifdef/#ifndef type). Thread support is built into java but not in C++. Java does not support default arguments. There’s no scope resolution operator :: in Java. Java uses the dot for everything, but can get away with it since you can define elements only within a class. Even the method definitions must always occur within a class, so there is no need for scope resolution there either. There’s no "goto " statement in Java. Java doesn’t provide multiple inheritance (MI), at least not in the same sense that C++ does. Exception handling in Java is different because there are no destructors. Java has method overloading, but no operator overloading. The String class does use the + and += operators to concatenate strings and String expressions use automatic type conversion, but that’s a special built-in case. Java is interpreted for the most part and hence platform independent.
Do you have a Java Problem?
Java Books
Return to : Java Programming Hints and Tips All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.
|