在我的代码中,我有一个带有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,因为我认为这是实例化对象能够访问它的唯一方法(不确定这是否正确?)
感谢您的帮助。
答案 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,或者如果您的意图将其移动到单独的默认构造函数中。