java中一个类的对象作为另一个类的成员,构造函数如何编写,例如下面的例子。

classpoint{intx;inty;publicpoint(){x=0;y=0;}publicpoint(intxx,intyy){x=xx;y=yy;}publi... class point
{
int x;
int y;
public point(){ x=0;y=0;}
public point(int xx,int yy)
{
x=xx;
y=yy;
}
public int getx(){return x;}
public int gety(){return y;}
};
class circle
{
private int radius;
private point cc;
public circle() //构造不出
{
new cc().point();
radius=1;
}
public circle(int xx,int yy,int r) //构造不出
{
new cc().point(int xx,int yy);
radius=r;
}
public circle(point c,int r) //成功构造
{
cc=c;
radius=r;
}
public double perimter(int r)
{
return (2*Math.PI*r);
}
public double area(int r)
{
return (Math.PI*r*r);
}
public int getr()
{
return this.radius;
}
};
public class a1_03_02
{
public static void main(String args[])
{
point p1=new point();
System.out.println("x1="+p1.getx()+" "+"y1="+p1.gety());
point p2=new point(1,1);
System.out.println("x2="+p2.getx()+" "+"y2="+p2.gety());
circle c1=new circle();
circle c2=new circle(1,1,2);
circle c3=new circle(p2,3);
System.out.println("r1="+c1.getr()+" "+"第一个圆的周长是:"+c1.perimter(1));
System.out.println("r1="+c1.getr()+" "+"第一个圆的面积是:"+c1.area(1));
System.out.println("r2="+c2.getr()+" "+"第二个圆的周长是:"+c2.perimter(2));
System.out.println("r2="+c2.getr()+" "+"第二个圆的周长是:"+c2.area(2));
System.out.println("r3="+c3.getr()+" "+"第三个圆的周长是:"+c3.perimter(3));
System.out.println("r3="+c3.getr()+" "+"第三个圆的周长是:"+c3.area(3));
}
};
展开
 我来答
NE1987
2012-07-26 · 超过11用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:33.7万
展开全部
new cc().point(int xx,int yy);

point(int xx,int yy)这个方法是point类的构造方法,你用你创建的point类的对象new cc()来调用自己的构造方法,当然不允许,如果你必须要在circle类得构造方法中调用point类的构造方法,可以让circle类继承point类,这样通过在circle类的构造方法中的首行调用super(int xx,int yy)方法,就可以继承父类的构造方法了。
Lei木兮
推荐于2018-03-23 · 超过11用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:31.3万
展开全部
private int radius;
private point cc;
public circle() //构造不出
{
// new cc().point();
cc=new point();
radius=1;
}
public circle(int xx,int yy,int r) //构造不出
{
// new cc().point(int xx,int yy);

cc.x=xx;
cc.y=yy;
radius=r;
}
另外,类中的成员变量最好都是私有的,get、set方法都写上。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gengchenchina
2012-07-26
知道答主
回答量:3
采纳率:0%
帮助的人:4.9万
展开全部
class circle
{
private int radius;
private point cc;
public circle() //构造不出
{
new cc().point(); // 将这一句改为:
cc=new point();
radius=1;
}
public circle(int xx,int yy,int r) //构造不出
{
new cc().point(int xx,int yy); // 将这一句改为:
cc=new point(xx, yy);
radius=r;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ge浩然正气
2012-07-26 · TA获得超过455个赞
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:190万
展开全部
new cc().point();

这里,是不是该这样写:cc = new Point();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
j595427560
2012-07-26
知道答主
回答量:12
采纳率:0%
帮助的人:1.4万
展开全部
?????????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式