一个java小程序‘’请高手帮忙看一下``!!在线等答案
classJ_Rock{J_Rock(inti){System.out.println("CreatingRock"+i);}}//类J_Rock结束classJ_Sub...
class J_Rock { J_Rock(int i) { System.out.println("Creating Rock"+i); }
}// 类J_Rock结束
class J_SubRock extends J_Rock{}
class J_RockApplication { public static void main(String args[]) { new J_Rock(2); }//方法main结束
}// 类J_RockApplication结束
为啥程序编译不通过??? 展开
}// 类J_Rock结束
class J_SubRock extends J_Rock{}
class J_RockApplication { public static void main(String args[]) { new J_Rock(2); }//方法main结束
}// 类J_RockApplication结束
为啥程序编译不通过??? 展开
4个回答
展开全部
上面的代码会有编译错误。
J_Rock类写了一个带参数的构造函数,这样编译器就不会为它提供一个默认无参构造函数。
J_SubRock类是J_Rock的子类,在代码中没有给出构造函数,这样,编译器会自动提供一个无参构造函数,这样无参构造函数会调用父类的无参构造函数,因为父类J_Rock没有无参构造函数,所以产生编译错误。
修改方法是为J_Rock类指定无参构造函数,或者显式在J_SubRock构造函数中调用J_Rock的有参构造函数。
J_Rock类写了一个带参数的构造函数,这样编译器就不会为它提供一个默认无参构造函数。
J_SubRock类是J_Rock的子类,在代码中没有给出构造函数,这样,编译器会自动提供一个无参构造函数,这样无参构造函数会调用父类的无参构造函数,因为父类J_Rock没有无参构造函数,所以产生编译错误。
修改方法是为J_Rock类指定无参构造函数,或者显式在J_SubRock构造函数中调用J_Rock的有参构造函数。
更多追问追答
追问
为什么程序编译不通过?
追答
修改方法一:
public class J_Rock {
J_Rock(){
}
J_Rock(int i) {
System.out.println("Creating Rock" + i);
}
}// 类J_Rock结束
class J_SubRock extends J_Rock {
}
修改方法二:
public class J_Rock {
J_Rock(int i) {
System.out.println("Creating Rock" + i);
}
}// 类J_Rock结束
class J_SubRock extends J_Rock {
public J_SubRock(int i) {
super(i);
}
}
展开全部
你这里缺少一个public 类,把class J_RockApplication 前加一个public 就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Creating Rock2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询