JAVA向上造型的题目
时间: 2024-09-08 09:00:46 浏览: 37
java 面试题目.txt
JAVA向上造型(Upcasting)是面向对象编程中的一个概念,指的是将子类对象赋值给父类引用的过程。在向上造型的过程中,编译器会确保子类对象与父类引用的类型兼容,因为子类对象实际上包含了父类对象的所有属性和方法。向上造型是自动完成的,不需要显式地进行类型转换。
举个简单的例子,如果我们有一个子类`Dog`继承自父类`Animal`,那么`Dog`的实例可以被当作`Animal`类型来处理:
```java
class Animal {
public void eat() {
System.out.println("This animal is eating.");
}
}
class Dog extends Animal {
public void bark() {
System.out.println("The dog is barking.");
}
}
public class Test {
public static void main(String[] args) {
Animal animal = new Dog(); // 这里发生了向上造型
animal.eat(); // 可以调用父类的方法
// animal.bark(); // 这行代码编译会报错,因为animal类型无法识别Dog特有方法
}
}
```
在上面的代码中,`Dog`对象`animal`通过向上造型,被视为`Animal`类型。我们可以通过`animal`引用调用`Animal`类中定义的方法,但是无法调用`Dog`类特有的`bark()`方法,因为向上造型后的引用类型是`Animal`。
阅读全文