Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于继承的类型重新初始化变量_Java_Variables_Types_Initialization - Fatal编程技术网

Java 基于继承的类型重新初始化变量

Java 基于继承的类型重新初始化变量,java,variables,types,initialization,Java,Variables,Types,Initialization,有没有一种方法可以使用从原始类型扩展而来的类型“重新初始化”变量 TileEntity te = world.getBlockTileEntity(x, y, z); if (te instanceof TileEntityMonitorStorageFluid) { TileEntityMonitorStorageFluid monitorTE = (TileEntityMonitorStorageFluid) te; } 在这段代码中,我必须创建一个新的var,这是唯一的方法吗?或

有没有一种方法可以使用从原始类型扩展而来的类型“重新初始化”变量

TileEntity te = world.getBlockTileEntity(x, y, z);
if (te instanceof TileEntityMonitorStorageFluid)
{
    TileEntityMonitorStorageFluid monitorTE = (TileEntityMonitorStorageFluid) te;
}

在这段代码中,我必须创建一个新的var,这是唯一的方法吗?或者我可以“回收”te var吗?始终强制转换“te”是不好的…

不,不能更改现有变量的类型。

另一方面,我不知道你为什么要这么做。创建一个新的引用似乎更清晰、更容易,相关的成本也很低。

如果我当时理解你的问题:不,
te
将始终是
TileEntity
类型。如果您想将其用作
TileEntityMonitorStorageFluid
,则必须每次强制转换它,或创建一个新的变量
monitorTE
。事实上,成本可能为零,因为即使在字节码级别,位置也可能在上次访问后重新使用。确定,谢谢:D我会在限制结束后接受你的答案(“你可以在3分钟内接受答案”)