gpt4 book ai didi

java |父类和子类中的静态变量 |从父类访问子变量值

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:22:14 25 4
gpt4 key购买 nike

在这种情况下,我有几个具有唯一静态变量的子类称为“x”。所有这些子类都以相同的方式使用静态变量,所以我想减少代码重复并将功能放在父类(super class)中。在这种情况下,父类(super class)中的方法“getX”。从这里我想返回 x 的值。现在我面临的问题是它使用父类(super class)的 x 值而不是子类的值。如何从父类(super class)访问子类的 x 值?

public class Playground {

public static void main(String[] args) {
Parent parent = new Parent();
Child child = new Child();
Child1 child1 = new Child1();

System.out.println("Parent.x " + parent.x);
System.out.println("child.x " + child.x);
System.out.println("child.x " + child1.x);

System.out.println("get x: " + parent.getX());
System.out.println("get x: " + child.getX());
}
}

class Parent {
static String x = "static of parent";
String y = "instance of parent";

String getX() {
return x;
}
}

class Child extends Parent {
static String x = "static of child";
String y = "instance of child";
}

class Child1 extends Parent {
static String x = "static of child1";
String y = "instance of child";
}

这段代码打印出来:父级的 Parent.x 静态
child.x child 的静态
child1 的 child.x 静态
获取 x: 父类的静态
get x: static of parent
<-- 这里应该是 static of child

希望有人能帮助我。

干杯

最佳答案

尝试为 child 添加 getX 方法。像这样:

class Child extends Parent {
static String x = "static of child";
String y = "instance of child";
String getX() {
return x;
}
}

关于 java |父类和子类中的静态变量 |从父类访问子变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41505611/

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