java 一个类继承另一个类 强转成继承的类 会沿用谁的函数
时间: 2024-04-09 11:28:17 浏览: 11
当一个类继承另一个类并且进行强制类型转换时,会沿用继承的类的函数。强制类型转换是将一个对象从一个类的类型转换为另一个类的类型,但实际上对象的实际类型并没有改变,只是被视为继承类的类型。
例如,如果有一个类A和一个类B,B继承自A。当你创建一个B类的对象并将其强制类型转换为A类时,你可以调用A类中定义的函数,但是不能调用B类特有的函数。
以下是一个示例代码:
```java
class A {
public void methodA() {
System.out.println("调用了A类的方法");
}
}
class B extends A {
public void methodB() {
System.out.println("调用了B类的方法");
}
}
public class Main {
public static void main(String[] args) {
B b = new B();
b.methodA(); // 调用了A类的方法
A a = (A)b; // 强制类型转换
a.methodA(); // 调用了A类的方法
// a.methodB(); // 错误,无法调用B类特有的方法
}
}
```
在上面的例子中,我们创建了一个B类的对象b,并调用了它继承的A类的方法methodA。然后,我们将b对象强制类型转换为A类并赋值给a。最后,我们可以通过a对象调用A类的方法methodA,但无法调用B类特有的方法methodB。
因此,强制类型转换后,对象的函数调用仍然遵循继承类的函数。