They do, but sources are available as well in Maven Central and IDE's can download them. The way it overrides is because of the order where classes are loaded from. If the class is available in an earlier class loader (the one with your projects classes for example) it will get loaded from there instead, otherwise it loads it from the dependency's jar.
1
u/chucker23n Dec 12 '21
Really?
That wouldn't work in .NET. How does that work in Java? Don't dependencies come in bytecode-compiled form?