日期:2014-05-20  浏览次数:20768 次

问大家一个关于构造方法的问题,谢谢
public class Duolei {
String bname;
int bid;
int bprice;
Duolei()
{
bname="麻辣鸡翅";
bid=14002;
bprice=45;
}

Duolei(Duolei a)
{
bname=a.bname;
bid=a.bid;
bprice=a.bprice;
}

Duolei(String name,int id,int price)
{
bname=name;
bid=id;
bprice=price;

}
这里面的Duolei(Duolei a)
{
bname=a.bname;
bid=a.bid;
bprice=a.bprice;
是什么意思啊。。以前没见过,我以为括号里面的应该是变量啊。然后下面的bname=a.bname;
这个怎么用呢?
那位大哥大姐能解释下吗,谢谢

------解决方案--------------------
Duolei d1 = new Duolei ();

Duolei d2 = new Duolei(d1);

不知楼主明白没?

------解决方案--------------------
以一个duolei的对象作为形参,传递给构造函数进行属性赋值,就是个拷贝构造函数
------解决方案--------------------
这是重载的构造方法, 

Duolei(Duolei a)
{
bname=a.bname;
bid=a.bid;
bprice=a.bprice;
} `这个方法需要传进来一个Doulei的对象 才可以调用 ,

main 方法代码 1楼写的是正确的


楼主可以查一查 构造方法的重载
------解决方案--------------------
探讨

这是重载的构造方法,

Duolei(Duolei a)
{
bname=a.bname;
bid=a.bid;
bprice=a.bprice;
} `这个方法需要传进来一个Doulei的对象 才可以调用 ,

main 方法代码 1楼写的是正确的


楼主可以查一查 构造方法的重载

------解决方案--------------------
2楼正解
------解决方案--------------------
1楼正解