Why Java Is Not Fully Object Oriented