使用Java访问类中的字段

时间:2014-08-01 02:15:31

标签: java class object field

我为错误道歉,因为这是我在这里发表的第一篇文章。这是一个基本问题,但我不明白我所看到的答案。在以下Java代码中:

public class RAPVAR_XDATA_TYPE{

        public class datacfg{
            public int datacfg_len;
            public float datacfg_val;
        }

        public class numdata{
            public int numdata_len;
            public float numdata_val;
        }

        public class strdata{
            public int strdata_len;
            public String strdata_val;
        }
}

为什么我不能以下列方式访问numdata_len:

RAPVAR_XDATA_TYPE.numdata.numdata_len = 1;

RAPVAR_XDATA_TYPE rxt = new RAPVAR_XDATA_TYPE();
rxt.numdata.numdata_len = 1;

我正在尝试构建一个数据结构来模仿我之前在c ++中所做的相同结构。

2 个答案:

答案 0 :(得分:1)

您需要将内部类设置为静态才能使其正常工作,但在此之前,请不要这样做。不要试图用Java制作C ++结构,因为这不是Java方式,并且会导致构造不良的Java程序。而是获得一本关于OOP和Java的好书,例如“Thinking in Java”和一本关于设计模式的书,如GoF书或Head First书,并学习Java“方式”。

答案 1 :(得分:0)

您需要考虑类中的内容是类的实例将包含的数据元素的“模式”。在您的示例中,您还有一个内部类,它只是一个嵌套的“模式”。即使您新创建了外部类,也没有为内部类中的项创建空间。你需要一个构造函数new-ed(实例化)inter类对象,并在你的外部类的实例中设置对它们的引用,以便有类似'你在c ++中拥有的东西。