多态

1.     以前以为多态只发生在创建对象完毕后,再调用对象的成员方法时才发生,其实在创建对象的过程中也存在多态的,以前居然一直没搞明白,汗!!!

       基础知识不扎实!

 

测试多态
public class Test6
{
    
public static void main(String[] args)
    {
        Parent son 
= new Son();
        
// 发生多态
        son.hello();
        
        System.out.println(
"------------------------------------");
        
        
new Parent().hello();
    }
}
class Parent
{
    
public void hello()
    {
        System.out.println(
"parent.hello()");
    }
    
public Parent()
    {
        
// 这里也会发生多态, 如果是在子类构造函数中调用的父类构造函数, 这里就会调用子类的hello()方法
        hello();
        
// 这里也会发生多态, 如果是在子类构造函数中调用的父类构造函数, 这里就会调用子类的getClass()方法
        System.out.println(getClass().getName());
    }
}
class Son extends Parent
{
    
public void hello()
    {
        System.out.println(
"son.hello()");
    }
}

 

 

2.     输出结果:

son.hello()

cn.nami.io.Son

son.hello()

------------------------------------

parent.hello()

cn.nami.io.Parent

parent.hello()

posted on 2010-09-21 02:31  TroyZ  阅读(264)  评论(0编辑  收藏  举报