一个小问题?

JackJia 2002-12-03 10:29:32
程序,命名为TestServer.java
编译错误,但若将SuperServer类中的int x 去掉,则正常,请教原因!!

class SuperServer
{
public SuperServer(int x)
{
System.out.print(35);
}
}

class TestServer extends SuperServer
{
public TestServer(int y)
{
y = y*10;
System.out.print(y);
}
public static void main(String[] args)
{
TestServer ts = new TestServer(10);
}
}
...全文
68 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Philzzf 2002-12-04
  • 打赏
  • 举报
回复
继承时,子类的构造方法默认调用父类中不带参数的构造方法。
所以以上的写法--XX
正确的如下:
class SuperServer
{
public SuperServer()
{
...............
}
}

class TestServer extends SuperServer
{
public TestServer(int y)
{
...............
}
}
或者:
class SuperServer
{
public SuperServer(int i)
{
...........
}
}

class TestServer extends SuperServer
{
public TestServer(int y)
{
super(y);
.........
}
}

其他补充:
1.super(),this()必须在方法的第一行,否这编译出错。
2.静态方法中不能使用super,this。
study_body 2002-12-04
  • 打赏
  • 举报
回复
子类在constructor调用了super(y);
vit 2002-12-03
  • 打赏
  • 举报
回复
子类在constructor调用了super();可是在父类里面找不到SuperServer()

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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