菜鸟问题:如何写子类的构造函数?

foolish4 2004-09-19 04:14:34
有cycle类 继承 point类
class Point
{
Point(int a, int b)
{
x = a;
y = b;
}
Point()
{
x = 0;
y = 0;
}
public int X()
{
return x;
}
public int Y()
{
return y;
}

protected int x,y;
}

现在 我想要cycle里有两个point 怎么写cycle的构造函数呢?
class Cycle extends Point
{
Cycle(int a, int b, int c, int d)
{
///////////////// ????????????????
}
}
请帮忙,谢谢大家
...全文
184 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
redlaputa 2004-09-20
  • 打赏
  • 举报
回复
1、从英语意思上看,Cycle不应该继承Point
2、如果不继承
class Cycle t
{
Point pt1 = null;
Point pt1 = null;
Cycle(int a, int b, int c, int d)
{
pt1 = new Point(a,b);
pt2 = new Point(c,d);
}
}
shine333 2004-09-19
  • 打赏
  • 举报
回复
Cycle和Point显然是A Cycle has a/some Point(s).显然不是A Cycle is a Point.
whyxx 2004-09-19
  • 打赏
  • 举报
回复
组合:
class Cycle t
{
Point pt = null;
Cycle(int a, int b, int c, int d)
{
pt = new Point(a,b);
}

public int X()
{
return pt.x;
}
public int Y()
{
return pt.y;
}


}
fishstudio 2004-09-19
  • 打赏
  • 举报
回复
up
wtobias 2004-09-19
  • 打赏
  • 举报
回复
up
nwpulipeng 2004-09-19
  • 打赏
  • 举报
回复
ema() 说得对,如果在子类里没有显式调用父类的构造函数super,则将在初始化之前会调用
父类的默认构造函数
foolish4 2004-09-19
  • 打赏
  • 举报
回复
...
gyang 2004-09-19
  • 打赏
  • 举报
回复
circle怎能继承point?????没有意义
ema 2004-09-19
  • 打赏
  • 举报
回复

这题,子类里想显式调用父类的构造函数,可以用super(a,b),则调用Point(int a, int b)。也可以不写,因为父类里你写了不带参的构造函数,所以子类里可以不写什么,它也会调用父类里不带参的缺省构造函数。至于组合不存在子父类,怎么写都可以了。

哎,其实这些东西应该好好看看书的,书上一般都会介绍的,在这里问这些问题,是对你自己不负责。
foolish4 2004-09-19
  • 打赏
  • 举报
回复
还有一个问题:

如果我不用继承,就用组合,又如何实现呢?

请大家一定帮帮我。。。

62,614

社区成员

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

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