File 在文件路径中使用非变量

File 在文件路径中使用非变量,file,variables,static,path,textures,File,Variables,Static,Path,Textures,我想让用户更改文件路径。但据我所知,它必须是静态的才能这样做。这是我得到的 private String texturePath; more code... public String getTexturePath() { return (String)texturePath; } public void onUpdate() { super.onUpdate(); this.texture = "/adventure/" + this.getTexturePath() + ".png"; }

我想让用户更改文件路径。但据我所知,它必须是静态的才能这样做。这是我得到的

private String texturePath;
more code...
public String getTexturePath()
{
return (String)texturePath;
}

public void onUpdate()
{
super.onUpdate();
this.texture = "/adventure/" + this.getTexturePath() + ".png";
}

存在多个对象,当使用静态变量时,它将所有对象都更改为相同的对象,而无法更改它们。

您需要将其作为参数发送给该方法

public void onUpdate(String path){
    super.onUpdate();
    this.texture = path + this.getTexturePath() + ".png";
}

静态变量属于类,而不是实例。

这不起作用。将(字符串路径)添加到onUpdate中可以防止它重写其扩展的onUpdateWell,您需要调整代码的其余部分,以便更好地使用它。当然,如果此方法覆盖了某些内容,则需要进行其他调整。我的答案只基于那个片段。还有另一种方式,实际上我不喜欢,因为似乎你需要这个变量只是为了这个方法。。。如果不想更改方法签名(从update()更改为update(String path)),只需使用该var的get/set方法创建一个“private String path”,并在调用方法之前设置var值。然后,该方法将保持如下状态:public void onUpdate(){super.onUpdate();this.texture=this.getPath()+this.getTexturePath()+“.png”;}仍然没有运气,我试图在游戏中更新从剪贴板上拖动的纹理这确实有效:public static String getClipboardString(){try{Transferable var0=Toolkit.getDefaultToolkit().getSystemClipboard().getContents((对象)null);if(var0!=null&&var0.isDataFlavorSupported(DataFlavor.stringFlavor)){return(String)var0.getTransferData(DataFlavor.stringFlavor);}catch(异常var1){;}返回“”;}和this.texture=getcli