Ok, so with "dynamic object model" you mean that Java loads classes at runtime, using a classloader.
Multiple inheritance leads to problems like the
diamond problem. In C++ this was solved by introducing a new feature to the language,
virtual inheritance. In Java, it was solved by simply disallowing multiple inheritance. One of the goals of the designers of the Java programming language was to make it easier than C++. In practice, you rarely really need multiple inheritance while it can lead to complicated situations, so they decided to leave it out of Java.
I don't agree with your professor that Java has no multiple inheritance solely because it would be impossible because of Java's dynamic class loading. I think it would be possible in principle to have multiple inheritance and dynamic class loading, but he's right in that it would make the system a lot more complicated than it is now.
One purpose for which multiple inheritance is useful is for
mixins. A mixin is a little bit like an abstract class that you can add to an existing class via inheritance, to add the functionality of the mixin to the existing class. You need some form of multiple inheritance to be able to add multiple mixins to a class. Because Java lacks this, there's no good way to work with mixins in Java.