java – 获得相同值的两个不同变量
发布时间:2020-12-15 04:49:09 所属栏目:Java 来源:网络整理
导读:我目前正在研究一个小型 Java应用程序,但我遇到了一个问题.我创建了两个不同的变量,但是在运行代码之后,第一个变量获得的值与第二个变量相同.他们应该是不同的. 这是我的自定义文件类: public class MyFile { private static String path; private static S
我目前正在研究一个小型
Java应用程序,但我遇到了一个问题.我创建了两个不同的变量,但是在运行代码之后,第一个变量获得的值与第二个变量相同.他们应该是不同的.
这是我的自定义文件类: public class MyFile { private static String path; private static String name; private static final String FILE_SEPARATOR = "/"; public MyFile(String path) { System.out.println(path); this.path = ""; this.name = ""; this.path = /*FILE_SEPARATOR*/path; String[] dirs = path.split(FILE_SEPARATOR); this.name = dirs[dirs.length - 1]; } public static String getPath() { return path; } public static String getName() { return name; } public String toString() { return "Path: " + path + ",Name: " + name; } } 我在这里使用变量: MyFile modelFile = new MyFile("resmodel.dae"); MyFile textureFile = new MyFile("resdiffuse.png"); System.out.println(modelFile.toString()); System.out.println(textureFile.toString()); 输出如下:http://imgur.com/a/Nu3N6 解决方法
在MyFile类中,您将这些字段声明为静态字段:
private static String path; private static String name; 因此,您可以为它们分配单个值,因为静态字段在类的所有实例之间共享. 您应该将这些字段声明为实例字段,以便为每个MyFile实例提供不同的值: private String path; private String name; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |