为了账号安全,请及时绑定邮箱和手机立即绑定

Dog other=(Dog) obj;这个语句为什么不用new呢

Dog other=(Dog) obj;这个语句中Dog other是新建的一个对象吧,为什么可以不用new呢,在子类中新建对象可以这样直接定义不用new嘛?

正在回答

3 回答

就是把Object 类向下转为Dog类。是利用多态的原理,因为所有的类都直接或间接继承了object类,希望能帮到你。

1 回复 有任何疑惑可以回复我~
#1

bilubilu 提问者

哦哦,是object的所以在方法内部不用new了是嘛
2015-10-30 回复 有任何疑惑可以回复我~
#2

某某徐徐

回复 bilubilu那是强制转换的不用new 的,有继承就能转如动物类可以转为狗类,而狗类不能转为猫类。
2015-10-30 回复 有任何疑惑可以回复我~

new 是新建一个对象   Dog other=(Dog) obj 是利用多态的原理将原来的对象做了一个向下转型 对象还是原来那个


0 回复 有任何疑惑可以回复我~

举个例子给你看看,你看看obj的定义。

你看看是不是这样:int b=(int) (2.3);

没有具体代码我也不清楚


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Dog other=(Dog) obj;这个语句为什么不用new呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信