gpt4 book ai didi

java - 如何在派生类中重新定义常量变量? [JAVA]

转载 作者:行者123 更新时间:2023-12-01 16:59:06 25 4
gpt4 key购买 nike

假设我有课

class A {
public static final int x = 1;
}

我有一个派生类

class B extends A {
x = 2; // want to redefine x as 2 here
}

我将如何在派生类 B 中将常量重新定义为 2?我记得在使用 C++ 时有一个构造函数“技巧”,但我不知道在 Java 中该怎么做。我什至尝试从 A 类的变量声明中删除“final”,但 B 类甚至不知道 X 已定义。它说我需要在 B 类中的 x 前面添加“public static final int”,但我认为它已经在 A 中定义了。

最佳答案

你不能。静态属于类而不是实例。

但是为了实现一个技巧,您可以创建另一个同名的常量。您可以使用

访问该常量

A.x 或 B.x

class B extends A {
public static final x = 2;
}

在此示例中 A.x=1B.x=2

或者,如果您想按照您的要求重新定义,您可以这样做,但这毫无意义

class B extends A{
static{
x=2;// assuming 'x' not final
}
}

在此示例中 A.x=2B.x=2

关于java - 如何在派生类中重新定义常量变量? [JAVA],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29107056/

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