一个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结束
为啥程序编译不通过???
展开
 我来答
随枫霏
2012-10-06
知道答主
回答量:11
采纳率:0%
帮助的人:16.7万
展开全部
上面的代码会有编译错误。
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);

}
}
409567402
2012-10-06 · 超过16用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:32.7万
展开全部
你这里缺少一个public 类,把class J_RockApplication 前加一个public 就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Favdark
2012-10-06 · 超过15用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:48.7万
展开全部
Creating Rock2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
150383671
2012-10-06
知道答主
回答量:4
采纳率:0%
帮助的人:6192
展开全部
对不起我不知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式