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

来源:9-9 Java 中的 Object 类 Ⅱ

bilubilu

2015-10-29 13:32

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

写回答 关注

3回答

  • 某某徐徐
    2015-10-30 00:09:31
    已采纳

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

    某某徐徐

    回复 bilubilu那是强制转换的不用new 的,有继承就能转如动物类可以转为狗类,而狗类不能转为猫类。

    2015-10-30 22:41:29

    共 2 条回复 >

  • 天启之魂
    2015-10-29 15:16:04

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


  • 前进的骚年
    2015-10-29 14:01:16

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

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

    没有具体代码我也不清楚


Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530642 学习 · 6091 问题

查看课程

相似问题