抽象类中的 Java 静态属性

标签 java static attributes abstract

我想在牛奶类中设置名称和代码静态属性。 为什么这不起作用? 我什至无法覆盖名称和代码的 setter/getter。

    public abstract class Cow {
        private static String name;
        private static String code;

    ...
     public static String getName() {
            return name;
        }

        public static void setName(String name) {
            Cow.name = name;
        }

        public static String getCode() {
            return code;
        }

        public static void setCode(String code) {
            Cow.code = code;
        }
    ...
    }

public class Milk extends Cow{

...
    static {
            Milk.setName("asdmilk");
        Milk.setCode("KDDFA");
        }
..

}

最佳答案

Why doesn't this work?

您不会为 Cow 的每个子类获得一组静态变量,并且您根本无法覆盖静态方法。基本上,静态成员不是多态的。

不清楚为什么您要尝试这样做,但基本上如果您声明一个静态变量,那么就有一个变量,句号。在这里调用 Milk.setName 完全等同于调用 Cow.setName

关于抽象类中的 Java 静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823858/

相关文章:

.net - 反射,从好友类获取DataAnnotation属性

控制台环境中的 C# 自定义属性验证

java - 数据类 Kotlin 到 Java 类

java - 垂直拆分 Android 布局向两侧添加重力以使对象居中

java - 为什么在空引用上调用(静态)方法不会抛出 NullPointerException?

c++ - 我应该使用静态还是内联?

C# - 使用什么属性来支持使用 XMLSerializer 和 DataContractSerializer 进行序列化?

Java – 使用二维数组和构造函数(初学者)

java - 了解 Java 的基础知识,学习 Groovy 的正确方法是什么?

c++ - C++中函数的内存分配