您的位置:程序门 -> java -> j2se / 基础类



求java程序员解释这个简单的继承和覆盖的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


求java程序员解释这个简单的继承和覆盖的问题
发表于:2007-03-18 22:46:59 楼主
public   class   teacher   extends   person   {
public   teacher   ()   {  
super();  
}
public   teacher(int   a)   {  
system.out.println   (a);  
}
        public   void   func()   {  
        system.out.print   ( "2, ");
        }
        public   static   void   main(string[]   args)   {  
        teacher   t1   =   new   teacher   ();   //输出2
        teacher   t2   =   new   teacher(3);//输出2,3
        }
}
class   person   {
        public   person()   {
        func();  
        }
        public   void   func()   {  
        system.out.println( "1, ");
        }
}  


正确的输出如注释所示
请详细的解释一下,谢
发表于:2007-03-18 23:01:391楼 得分:0
正确的输出结果应该是
2,2,3

new   teacher   ()首先会调用父类的构造函数   而person()中调用了func()   父类的func()被teacher.func()给覆盖   所以调用的是teacher.func(),输出一个 "2, "
后面就容易理解了咯
发表于:2007-03-18 23:19:302楼 得分:0
谢       已经理解鸟


快速检索

最新资讯
热门点击