中易网

java构造方法重载问题。

答案:2  悬赏:20  
解决时间 2021-02-21 05:33
class BirthDate
{
private int day;
private int month;
private int year;
private double time;

public BirthDate(int d,int m,int y)
{
day=d;
month=m;
year=y;
}

public BirthDate(int d,int m,int y,int t)
{
day=d;
month=m;
year=y;
time=t;
}

public void setDay(int d)
{
day=d;
}

public void setMonth(int m)
{
month=m;
}

public void setYear(int y)
{
year=y;
}

public int getDay()
{
return day;
}

public int getMonth()
{
return month;
}

public int getYear()
{
return year;
}

public void display()
{
System.out.println(day+ "-" + month+ "-" + year);
}
public void show()
{
System.out.println(day+ "-" + month+ "-" + year+"-" +time);
}
}

public class Test{
public static void main(String[] args)
{
Test test=new Test();
int date=9;
BirthDate d1=new BirthDate(7,7,1970);
BirthDate d2=new BirthDate(1,1,2000);
BirthDate d3=new BirthDate(1,1,2000,18.00);
test.change1(date);
test.change2(d1);
test.change3(d2);
System.out.println("date="+date);
d1.display();
d2.display();
d3.show();
}

public void change1(int i)
{
i=1234;
}

public void change2(BirthDate b)
{
b=new BirthDate(22,2,2004);
}

public void change3(BirthDate b)
{
b.setDay(22);
}
}

哪里错了?有一个错误,出现在BirthDate d3=new BirthDate(1,1,2000,18.00);这里。指向new。
最佳答案
public BirthDate(int d,int m,int y,int t)
{
day=d;
month=m;
year=y;
time=t;
}
你的构造函数中是4个int型参数
而你调用时BirthDate d3=new BirthDate(1,1,2000,18.00);
传进去的最后一个参数18.00是double型的,int型要小于double,不能自动转型,所以要报错
要么修改构造方法,改成接受一个String类型的,将18.00改成“18.00”
要么改成一个接收double类型的
或者修改18.00为18
全部回答
楼主,我来回答你这个问题,我最近在做scjp的考题,经常碰到这类题。 首先得指出你的错误,构造方法是不能有返回值的,所以你上面的两个方法不是构造方法,而只是刚好和类名相同的成员函数。 构造函数可以是public和private的,也可以是缺省的(就是什么也不写),public 和private的区别是public的构造函数可以在别的类中用new 方法实例化一个对像,比如new apple();private的构造函数就不得在别的类中用new 方法实例化对像,否则编译器就会报错。 说得简单点,public标注的方法或者构造函数可以在所有类中被调用,而private标注的方法或者构构造函数只能在自己类中调用,即使是子类也不能! 满意给分啊 ^^
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
仙人掌怎样在沙漠中寻找水源
芙蓉兴盛超市陈纳便利店地址在什么地方,想过
求这张蓬莱山辉夜高清大图,一定要没有水印
XP右下角的那个输入法小键盘不见了?
侠盗飞车下车怎么熄火,或者哪种车可以,什么
华三防火墙f1000-e 没有cf卡能工作吗?
巢湖市凤凰山农副产品综合市场地址有知道的么
成都金泉小学和迎宾小学哪个好
受贿2万元属主动交待,钱已上交纪委,写了检查
天猫的伊利母婴官方旗舰店安全吗?
洁丰干洗新泰店地址在哪,我要去那里办事
初恋女友在男人心中的地位无法取代吗
合川渠江酒厂怎么去啊,有知道地址的么
创维47e83rs 问题求教
丹阳市风光汽车销售服务有限公司地址在什么地
推荐资讯
改卷子书面语怎么说?
那种把自己的脸弄成很可爱的漫画版的软件叫什
- -话说那些双色眼影是怎么用的
下载拨号键到页面我手机上没有拨号键怎么下载
金夫人化妆品店这个地址在什么地方,我要处理
分手后我说我等他一年 他说 6666是什么意思
一个因数是10,另一个因数和它一样大,积数多
3岁大的泰迪上吐下泻
哪个订单追溯平台做的好?
女生印堂发黑怎么 65533
寝室里养老鼠
qq群群名上一个小爱心怎么弄
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?