class SuperClass
{
/*
SuperClass()
{
System.out.println("SuperClass");
}
*/


}
class SubClass extends SuperClass
{
SubClass()
{
System.out.println("SubClass");
}
}
public class SuperSub
{
public static void main(String[] args)
{
SubClass sc1 = new SubClass();
}
}按理说应该编译不成果,应为父类中没有子类香调的构造方法,但是我这编译没有问题,怎么回事?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【cismylife】截止到2008-07-18 17:19:21的历史汇总数据(不包括此帖):
    发帖的总数量:4                        发帖的总分数:110                      每贴平均分数:27                       
    回帖的总数量:4                        得分贴总数量:1                        回帖的得分率:25%                      
    结贴的总数量:4                        结贴的总分数:110                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

      SubClass()
        {
            System.out.println("SubClass");
        }
    子类默认使用
      SubClass()
        {   super();//默认调用无参构造函数
            System.out.println("SubClass");
        }JAVA规定,如果一个类没有定义构造函数,那么就给给它赋予一个无参的构造函数,所以父类是否有那个无参构造函数都可以。
      

  3.   

    他的父类隐含着
    class SuperClass
    {   
        SuperClass()
        {
            
        }  
    }前提是你不给这个父类写构造函数的话。  这叫默认构造函数