【发布时间】:2018-02-02 06:26:56
【问题描述】:
我是 java 新手,我正在学习抽象类,但我卡在一个地方。
我想将不同的数据类型返回给abstract class Bank,但我不能这样做。我确实提到了Different return types of abstract method in java without casting 这个问题,因为我在 java 方面的经验较少,因此我不明白该链接的解决方案。请任何人帮助我来解决问题
代码
abstract class Bank{
abstract int rateOfInterest();
}
class Icici extends Bank{
int rateOfInterest(){
return 8;
}
}
class Sbi extends Bank{
int rateOfInterest(){
return 7;
}
}
class Union extends Bank{
float rateOfInterest(){
return 9.5;
}
}
class Interest {
public static void main(String args[]){
Bank uni = new Union();
System.out.println("The rate of interest of UNION Bank is "+uni.rateOfInterest());
}
}
错误
test.java:18: 错误:Union 不是抽象的,并且不会覆盖 Bank 中的抽象方法 rateOfInterest()
类联合扩展银行{ ^ test.java:19: 错误:Union 中的 rateOfInterest() 无法覆盖 Bank 中的 rateOfInterest()
浮动利率(){ ^ 返回类型 float 与 int 不兼容
test.java:20: 错误:不兼容的类型:从双精度到浮点的可能有损转换 返回 9.5; ^ 3 个错误
预期输出
The rate of interest of UNION Bank is 9.5
【问题讨论】:
-
将您的所有
rateOfInterest更改为返回BigDecimal
标签: java abstract-class