gpt4 book ai didi

java - 变量是如何被覆盖的

转载 作者:行者123 更新时间:2023-11-29 07:16:39 24 4
gpt4 key购买 nike

package com.mycompany.myproject.mypkg;

interface MyInterface {
public static final int k = 9;
}

class MyClass implements MyInterface {
// int k = 89;
}

public class SampleThree extends MyClass {
static int k = 90;

public static void main(String args[]) {
MyClass object = new SampleThree();
System.out.println(object.k);
}
}

为什么上面的程序打印的是“9”而不是“90”?

Java 中如何重写静态变量和成员变量?

最佳答案

因为字段不支持多态。 MyClass.k9(objectMyClass 引用)。 SampleThree.k 会给你 90。每个类都有自己的一组变量。

(顺便说一句,IDE 会在此处警告您您正在通过实例而不是其类访问静态变量。)

关于java - 变量是如何被覆盖的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983002/

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