We propose an object-oriented calculus with internal concurrency and class-based inheritance that is built upon the join calculus. Method calls, locks, and states are handled in a uniform manner, using asynchronous messages. Classes are partial message definitions that can be combined and transformed. We design operators for behavioral and synchronization inheritance. We also give a type system that statically enforces basic safety properties. Our model is compatible with the JoCaml implementation of the join calculus. Microsoft Research, 1 Guildhall Street, Cambridge, U.K. Dipartimento di Scienze dell'Informazione, Universit`a di Bologna, Mura Anteo Zamboni 7, 40127 Bologna, Italy INRIA Rocquencourt, BP 105, 78153 Le Chesnay Cedex France.