这段java代码有错吗?--关于重写的权限

街角祝福 2011-08-25 09:04:37
class Box
{
int i;
int j;

Box()
{
i = 10;
j = 10;
}
public void show()
{
System.out.println( i+"\t"+j );
}
}
class wBox extends Box
{
int weight = 50;

wBox()
{
super();
}
protected void show()
{
System.out.println( i+"\t"+j+"\t"+weight );
}
}
public class t1
{
public static void main(String args[])
{
wBox mybox = new wBox();

mybox.show();
}

}
...全文
111 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tvbs1 2011-08-26
  • 打赏
  • 举报
回复
水平有限,飘过。
kjimmieb 2011-08-26
  • 打赏
  • 举报
回复
子类的‘宽度’不能小于父类,包括如果有返回值的方法,返回值类型!
zxtzzh 2011-08-26
  • 打赏
  • 举报
回复
子类重写父类的函数,访问限制要大于父类,你父类是public ,子类必须是public
Mourinho 2011-08-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ioe_gaoyong 的回复:]

有错误,show方法能定义为protected发生编译错误。
解决思路:
1.将show修饰符改为public 这样相当于overload父类的方法
2.将show方法的参数改为非空值,这样相当于override父类的show方法
[/Quote]

++
bzc1990 2011-08-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jingwithme 的回复:]

错了,不能缩小可见性
[/Quote]
+1
继承不允许缩小访问权限
街角祝福 2011-08-25
  • 打赏
  • 举报
回复
运行文件出错了。。。
有错的,权限!!
街角祝福 2011-08-25
  • 打赏
  • 举报
回复
可是,可编译,可运行。
权限不是有问题吗?可是这里没出错啊!
luohuijun619 2011-08-25
  • 打赏
  • 举报
回复
lz运行下,就知道了
jingWithme 2011-08-25
  • 打赏
  • 举报
回复
错了,不能缩小可见性
风尘中国 2011-08-25
  • 打赏
  • 举报
回复
有错误,show方法能定义为protected发生编译错误。
解决思路:
1.将show修饰符改为public 这样相当于overload父类的方法
2.将show方法的参数改为非空值,这样相当于override父类的show方法

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧