Typedefs, Defines, Preprocessor Directives, Structures, and
Unions: These specialized activities from C language are not needed in OO designs
Functions: Object-oriented programming supersedes functional and procedural styles
No More Multiple Inheritance: Multiple inheritance and all the problems it generates has been discarded from Java The desirable features of multiple inheritance are provided by interfaces conceptually similar to Objective C protocols
Goto Statements: Java has no goto statement because goto statements lead to spaghetti code.
Operator Overloading: There are no means provided by which programmers can overload the standard arithmetic operators. Operators can be supported via operations.
Automatic Coercions: Java prohibits C and C++ style automatic coercions. If you wish to coerce a data element of one type to a data type that would result in loss of precision, you must do so explicitly by using a cast
No More Pointers: Most studies agree that pointers are one of the primary features that enable programmers to inject bugs into their code