From : "In the second case, there won't be any compilation errors and void print(String s) will be called, which is somewhat not obvious:
public class Cat {

    public static void print(Object o) {
    public static void print(String s) {

    public static void main(String[] args) {
Why the print(String s) method will be called? The null-reference can not belong to the Object, only to the String or the Integer?!... In the previous example in the lecture we needed to do this: Cat.print((String)null); In this example why don't we need to do the same?