java多态向下转型怎么实现

68次阅读
没有评论

共计 695 个字符,预计需要花费 2 分钟才能阅读完成。

Java 中实现向下转型的方式是使用强制类型转换符((子类类型) 父类对象),将父类对象转换为子类类型。

例如,有一个父类 Animal 和子类 Dog:

public class Animal {public void eat() {System.out.println("Animal is eating...");
    }
}

public class Dog extends Animal {public void eat() {System.out.println("Dog is eating...");
    }
    
    public void bark() {System.out.println("Dog is barking...");
    }
}

现在创建一个 Animal 对象,然后将其向下转型为 Dog 对象:

Animal animal = new Dog();
Dog dog = (Dog) animal;

这样就将 animal 对象成功向下转型为了 Dog 类型的对象 dog。然后就可以调用 Dog 类特有的方法了:

dog.eat();  // 输出:Dog is eating...
dog.bark(); // 输出:Dog is barking...

需要注意的是,如果将父类对象向下转型为一个与其本身不相关的子类对象,会抛出 ClassCastException 异常。因此,在进行向下转型之前,最好使用 instanceof 运算符检查对象是否能够转换为目标类型:

if (animal instanceof Dog) {Dog dog = (Dog) animal;
    dog.bark();} else {System.out.println("animal cannot be cast to Dog");
}

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计695字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)