Disambiguation refers to the removal of ambiguity by making something clear. Importing a library or a class in code is a daily routine of a programmer. It’s pretty easy to import files into the code in every language, thanks to the great code editors nowadays.
However, what happens if you try to import two classes into a file? Though you should always try to have different names for different classes, sometimes it’s unavoidable. For example, in the case of different libraries having the same name for their classes. In Java, there is a workaround; you have to use the full qualifier, which looks something like this:
class X {
com.very.very.long.prefix.bar.Foo a;
org.other.very.very.long.prefix.baz.Foo b;
...
}
Dirty, isn’t it? Now, let’s see how Kotlin addresses it gracefully.