构造函数中的ByteBuffer.allocate

时间:2013-05-31 03:11:10

标签: java constructor bytebuffer

在我的代码中,我有一个带有ByteBuffer和两个构造函数的类。根据构造函数的不同,我想为ByteBuffer分配不同的空间。

ByteBuffer data = ByteBuffer.allocate(1);

1st_constructor(arg1, arg2, arg3){
     data = ByteBuffer.allocate(5);   
}

1st_constructor(arg1, arg2){
    data = ByteBuffer.allocate(10);    
}

我在想,这是正确的方法吗?我只在构造函数之外声明了ByteBuffer,因为我认为这是实例化对象能够访问它的唯一方法(不确定这是否正确?)

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

这是正确的方法:

final ByteBuffer data;

1st_constructor(arg1, arg2, arg3){
     data = ByteBuffer.allocate(5);   
}

1st_constructor(arg1, arg2){
    data = ByteBuffer.allocate(10);    
}

答案 1 :(得分:0)

不确定你为什么

ByteBuffer data = ByteBuffer.allocate(1);

如上所述,将其标记为final,或者如果您的意图将其移动到单独的默认构造函数中。