参考一下:
http://expert.csdn.net/Expert/topic/1795/1795460.xml?temp=.8525354

解决方案 »

  1.   

    是这样的,所有class都有默认的没有参数的构造器(view()),但是一旦你加上了一个构造器,这默认的构造器就不会存在。而在继承中,所有的子类在构造的时候,构造函数中的第一句话必定是调用父类的构造器。如过没写明是哪个构造器的话,就自动调用super(),业就是父类中默认构造器。在你的例子中有了view(int x),就不存在view()了。而build没有写明构造函数,也就是默认用build();而build()的第一件事就是调用它的super();也就是view(),但view()不存在,所以就错了