您可以通过 Java 中的 super class 访问 sub class 变量吗

Can you access sub class variable via super class in Java

我可以通过超级 class 实例访问我的 subclass 变量吗?

例如我在 Main 中创建了我的超级 class 对象,然后我想知道子 class 中变量的值。有可能这样做吗?谢谢

不,这违背了继承原则。这就像询问上一代设备是否可以访问基于此的下一代设备中引入的新功能。

子class 可以访问父class 的非私有成员,但反之则不行。这没有意义,因为语言语法不允许从父级访问子级,而相反的情况可以通过 super 等方法和关键字实现。

因此,您最好重新考虑使用继承和重构核心以满足要求的方式,因为这肯定行不通

如果 class B 扩展了 class A 并且你有一个 A 对象,那么你总是可以将它转换成它的子对象class,在这种情况下是 B。考虑以下因素:

A a = new A();
B b = (B)a;

之后,您可以随时通过 b 访问 B 成员。您也可以通过 ((B)a).

以内联方式执行此操作