A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冷锋也温柔 中级黑马   /  2013-10-8 10:51  /  2259 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Bank.java
public class Bank{
int saveMoney;
int year;
double intrest;
public double computerInterest(){
interest=year*0.035*saveMoney;
return interest;

}
}
ConstructionBank.java
public class ConstructionBank extends bank{
double year;
public double computerInterest(){
super.year=(int)year;<--------------这里为什么super直接就获取了year的整数部分了呢????
double remainNumber=year-(int)year;
int day=(int)(remainNumber*1000);
interest=super.computerInterest()+day*0.0001*savedMoney;<----------一样的问题
System.out.printf("%d元存%d年零%d天\n"savedMoney,super.year,day);
return interest;

}
}
Example5_5.java{
public class Example5_5{
int amount=8000;
ConstructionBank Bank=new ConstructionBank();
bank.savedMoney=amount;
bank.year=5.216;
double interest=bank.computerInterest();
System.out.printf("利息是%5.3f元\n"interest);
}
}
这个程序只写了一部分,我只看懂了这个是继承类,year在子类中被重写了,这个也懂,super调用父类(super.year=(int)year;)也明白。可是
super.year=(int)year为什么直接调用了year的整数部分"5"呢
super

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

4 个回复

倒序浏览
super是子类调用父类的东西,因为ConstructionBank继承了Bank,所以可以调用它里面的变量

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
ConstructionBank 继承了bank,就有两个year:一个是super.year (int类型),一个是this.year(double类型)。super.year=(int)year;是个赋值语句,将this.year的整数部分给super.year,相当于super.year=(int)this.year;

评分

参与人数 1技术分 +1 收起 理由
周志龙 + 1

查看全部评分

回复 使用道具 举报
To 金牌黑马 2013-10-8 11:25:02
板凳
这些问题在论坛有很多文章,你自己去找找。找不到在来提问,楼上都解答的很好。
回复 使用道具 举报
To 金牌黑马 2013-10-9 08:40:33
报纸
如果问题已解决,请将帖子改为提问结束,如果没有解决请楼主继续提问,谢谢合作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马