方法明明返回的是object,为啥强制转换的时候却说是integer? 50
settingService.getValue(settingName);获取的值是integer类型,但该方法的返回类型是object,所以返回值就是object类型,...
settingService.getValue(settingName);获取的值是integer类型,但该方法的返回类型是object,所以返回值就是object类型,可为何用到这个方法返回值的时候却说返回的是integer类型?
展开
1个回答
展开全部
返回settingService的getValue的返回值,而getValue就不一定返回Object了。由于Object是任何类的子类,这个向上转型是一定成功的。
追问
你好,Object应该是任何类的父类吧?向上转型又是什么意思呢?
追答
口误,是任何类的父类
向上转型是多态的概念,如果B是A的子类,那么(A)B类对象就叫向上转型。getSystemValue返回的是一个Object对象引用,但对象的实际类型是getValue返回的类型。如果getVaule也存在多态,那么就是它的子类型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询