Abadi and Cardelli have recently investigated a calculus of objects[2]. The calculus supports a key feature of object-oriented languages:an object can be emulated by another object that has more refinedmethods. Abadi and Cardelli presented four first-order type systemsfor the calculus. The simplest one is based on finite types and nosubtyping, and the most powerful one has both recursive types andsubtyping. Open until now is the question of type inference, andin the presence of subtyping the absence of minimum typings posespractical problems for type inference [2].In this paper we give an O(n^3) algorithm for each of the four typeinference problems and we prove that all the problems are P-complete.We also indicate how to modify the algorith...