Originally posted by Venkat Ramanan:
" The finalize( ) method can make an object that has been eligible for garbage collection become accessible again from the active part of the program. "
Originally posted by Manfred Leonhardt:
According to the JVM specifications the null literal can be converted to any reference type. Therefore, in your example we can assume that the null reference type will be converted into the lowest level class found in your method parameters. Since the lowest level class found in your method parameters is String (subclass of Object, therefore lower level), it will call that method. It is interesting to note that any other method that has only one non-primitive parameter will cause a compiler error. For example:
method(String s) and
method( Integer i) and
method( Double d)