Java-是否可以在不创建新实例的情况下从内部类返回值

标签 java class inner-classes static-classes

我想创建这样的结构,用户可以在其中进入内部类,即使他停在类本身也能收到一个值。

这是一个例子

public abstract class TREE {
    public static class PLAYER{
        private static final int value = 100; //(idea example)where to store inner PLAYER value
        public static final int NAME  = 0;
        public static final int SURNAME  = 1;
    } 
}

虽然可以使用

int a = TREE.PLAYER.NAME;

我也希望能够使用

int b = TREE.PLAYER;

我宁愿不使用任何函数,而只是使用点运算符遍历路径。值本身可以存储在类中(就像我在 PLAYER 类 value 下的示例)或简单地以其他方式返回,但我不知道这是否可能。

也许我不知道的其他结构会更适合这种结构。

谢谢

最佳答案

TREE.PLAYER 是一种类型,所以你只能做类似的事情

Class b = TREE.PLAYER.class;

如果你想获得像 int 这样的值,你需要引用一个可以转换为 int 的公共(public)字段。

Java 不支持添加语法糖来假装一个类是一个 int 字段。

关于Java-是否可以在不创建新实例的情况下从内部类返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31927456/

相关文章:

java - NSData 是什么意思?如何在java中实现其特性?

java - 在 2-way SSL 中禁用证书链验证

java - 有没有办法使用 Eclipse 列出某个类的所有 equals() 调用?

c++ - 将 C++ 对象传递给它自己的构造函数是否合法?

java - 外部类、内部类以及静态方法

java - 内部类的问题。表达式错误开始非法

java - 启动 EJB 应用程序时是否会引发任何事件?

java - 我该如何在这个方法中处理这个异常?

python - 如何使用位置参数和关键字参数来初始化类

java - 内部类必须引用封闭类吗?