java父类对象赋值给子类对象
时间: 2023-07-20 10:41:53 浏览: 111
在 Java 中,父类对象可以赋值给子类对象,这种操作也被称为向上转型(upcasting)。这是因为子类是继承自父类的,所以子类对象拥有父类对象的所有属性和方法,因此可以通过将父类对象赋值给子类对象来使用这些属性和方法。
例如,假设有一个 Animal 类和一个 Dog 类,Dog 类是 Animal 类的子类。那么可以将 Animal 对象赋值给 Dog 对象:
```
Animal animal = new Dog(); // 向上转型
```
在这个例子中,Dog 对象是 Animal 对象的一个特殊实例,因此可以将 Animal 对象赋值给 Dog 对象,这样就可以使用 Dog 类中定义的方法和属性了。需要注意的是,这种操作只能从父类到子类,而不能从子类到父类。
相关问题
java 子类对象赋值给父类后如何调用子类方法
当一个子类对象赋值给父类引用时,只有父类中存在而子类未重写的方法才能被调用。如果想要调用子类中重写的方法,需要将父类引用强制转换为子类类型。例如,如果有一个子类SubClass,重写了父类ParentClass中的方法foo(),则可以使用如下代码调用这个子类方法:
ParentClass obj = new SubClass();
obj.foo(); // 调用ParentClass中的foo()方法
((SubClass) obj).foo(); // 调用SubClass中重写的foo()方法
java子类给父类属性赋值
当一个子类想要给其继承自父类的属性进行赋值时,可以使用“super”关键字。在子类中使用“super.属性名”来引用父类中的属性,然后就可以对该属性进行赋值操作。例如:
```
class Father {
int age;
}
class Son extends Father {
void setAge(int age) {
super.age = age;
}
}
```
阅读全文