A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 位俊鹏 中级黑马   /  2014-3-3 00:29  /  686 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

现有:
    1. class Top  {
    2.   static int x=l;
    3.    public Top (inty)  { x*=3;  }
    4.   }
    5. class Middle extends Top {
    6.   public Middle()  {x+=1;  )
    7.   public  static void main(String  []  args) {
    8.   Middle m = new Middle();
    9.   System. out .println (x);
    IO.   }
    II. }
    结果为:
    A.1
    B. 2
    C.3
    D.编译失败
//之前好像见过有童鞋问过,可惜还是不能明白...希望大家能再次帮忙解析..xiexie

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

倒序浏览
你这代码错误连编。真搞不懂你怎么打出这么乱的代码。标点符要用英文状态的。大括号要对齐,这样人家看的时候才会清晰明了。
回复 使用道具 举报
由于父类中没定义默认的构造方法,而它的子类的构造方法也没有调用Top(int y),所以会报错的。

另外楼上说的很对哦,代码的书写一定要规范,需要时刻养成良好的习惯才行!
回复 使用道具 举报
这个是要问的代码吧?我的错误和你的不同
  1. class Top{
  2. static int x=1;
  3. public Top(int y){
  4.                 x*=3;
  5.          }
  6. }
  7. class Text2 extends Top {
  8.         public Text2(){
  9.                 x+=1;
  10.         }
  11.         public  static void main(String []args) {
  12.     Text2 m = new Text2();
  13.     System.out.println(x);
  14.    }
  15. }
复制代码


点评

这个top()构造器在父类中没有被定义而子类却调用了所以报错  发表于 2014-3-3 12:51

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马