我可以在类的构造函数内部动态分配内存吗?

时间:2018-08-21 03:25:31

标签: java android class constructor

因此,这就是我在代码中编写的内容。这是代码的声明部分(用Java编写)。

private class DataStructure{
        private VoltageMsg[] voltageMsg;
        public DataStructure()
        {
            this.voltageMsg = new VoltageMsg[VOLTAGE_CH];
        }
        private class VoltageMsg{
            private int Decimal;
            private int Integer;
            private int ch;
            public void setter(int Decimal, int Integer, int ch){
                this.Decimal = Decimal;
                this.Integer = Integer;
                this.ch = ch;
            }
        }
}

VOLTAGE_CH通过以某个整数值声明的方式是常量。 我试图使用这样的类,

private DataStructure datas;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        datas = new DataStructure();
}

这是致命异常发生的部分。

datas.voltageMsg[0].setter(1,2,3);

这是我从logcat复制的特定消息。

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.wise.ksj.kitms_monitoring_device.DeviceStatus$DataStructure$VoltageMsg.setter(int, int, int)' on a null object reference

我做错了什么?我不能像我一样在构造函数内部动态分配内存吗?这就是为什么它不断向我显示此致命异常的原因?您可能现在已经猜到了,对于这些整个软件工程/编程人员,我还是很陌生。任何帮助,将不胜感激。非常感谢您的宝贵时间。

0 个答案:

没有答案