Полиморфизъм по време на изпълнение Концепция на OOPS

Според концепцията на упс. В случай на прехвърляне на референтната променлива на родителския клас не може да изпълни личния метод на дъщерния клас, но когато стартирам следната програма-

interface My
{
}
class my1 implements My
{
    public String toString()
    {
        return "hello";
    }
    public static void main(String... s)
    {
        My m=new my1();
        System.out.println(m.toString());
    }
}

изпълнява се успешно и отпечатва "здравей". Може ли някой да обясни как става това...??

за да бъде по-ясно, следната програма дава грешка при компилиране

interface My
{
}
class my1 implements My
{
    public String toString1()
    {
        return "hello";
    }
    public static void main(String... s)
    {
       My m=new my1();
       System.out.println(m.toString1());
    }
}

person Sumit Kamboj    schedule 25.11.2014    source източник
comment
Моля, свържете се към мястото, където сте прочели това.   -  person Sotirios Delimanolis    schedule 25.11.2014
comment
OOPS не предоставя правила за кастинг. Второ, няма суперклас, това е интерфейсът. Трето съвет; трябва да четеш книги.   -  person Juned Ahsan    schedule 25.11.2014
comment
Личен метод???? Какъв боклук......;(   -  person Ankit Sharma    schedule 25.11.2014
comment
@ankit Sharma-това означава метод на дъщерен клас, който не присъства в родителския клас или интерфейс..   -  person Sumit Kamboj    schedule 25.11.2014
comment
Направихте ли някаква домашна работа или препратихте ли към някоя книга/връзка, за да разберете как работи полиморфизмът, преди да зададете въпрос тук?   -  person Ankit Sharma    schedule 25.11.2014