Do Java or C++ lack any OO features?

c++, java, oop

Solution

Off the top of my head, I'd say:

- multiple dispatch

- generic functions

- a metaobject protocol

- being able to subclass native types (I don't know that this has a name, because there are relatively few OO languages I know which don't allow this)

Problem

I am interested in understanding object-oriented programming in a more academic and abstract way than I currently do, and want to know if there are any object-oriented concepts Java and C++ fail to implement. I realise neither of the languages are "pure" OO, but I am interested in what (if anything) they lack, not what they have extra.

Original source