gpt4 book ai didi

java - 为什么我无法使用父类型访问子对象方法

转载 作者:行者123 更新时间:2023-12-01 22:48:27 24 4
gpt4 key购买 nike

对象a2是A类型的,但引用了C类的对象。因此,a2应该能够访问m3()。但是,为什么它没有发生呢?如果 m3() 方法已在类 A 中定义,则代码将正常运行

class A {

int var = 7;

void m1() {
System.out.println("A's m1 ,");
}

void m2() {
System.out.println("A's m2 ,");
}
}

class B extends A {

void m1() {
System.out.println("B's m1 ,");
}
}

class C extends B {

void m3() {
System.out.println("c's m3 ," + (var + 6));
}
}

class Mixed {

public static void main(String[] args) {
A a = new A();
B b = new B();
C c = new C();
A a2 = new C();
a2.m1();
a2.m2();
a2.m3();
}
}

最佳答案

A a2=new C();

这意味着您只能访问 A 类的成员和 C 类的实现(如果有任何重写)。

现在 m3 不是 A 的成员。清除?

关于java - 为什么我无法使用父类型访问子对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25032659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com