dynamic binding
<p>If a class implements an interface and have a <code>toString()</code> method 
and we store the child reference into parent variable or simply dynamic binding   is      done 
then why did not the compiler check the <code>toString()</code> method in interface because it is a rule of 
dynamic binding that function uniqueness will be check in parent </p>

<p>eg.</p>

<pre><code>interface my {
    void show();
}

class child implements my {
    public void show() {
        System.out.println("working");
    }

    public String toString() {
        return "hello";
    }

    public static void main(String... s) {
        my m = new child();

        m.show();

        String s = m.toString();
        System.out.println(s);
    }
}
</code></pre>

<p>We know that whenever dynamic binding is done child personal method cannot be executed unless it has overridden the above method 
so why above function <code>toString()</code> get complied and gives the output?</p>
