Java – two different variables that get the same value
•
Java
I am currently working on a small java application, but I have a problem I created two different variables, but after running the code, the first variable gets the same value as the second variable They should be different
This is my custom file class:
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; } }
I use variables here:
MyFile modelFile = new MyFile("res\\model.dae"); MyFile textureFile = new MyFile("res\\diffuse.png"); System.out.println(modelFile.toString()); System.out.println(textureFile.toString());
The output is as follows: http://imgur.com/a/Nu3N6
Solution
In the myfile class, you declare these fields as static fields:
private static String path; private static String name;
Therefore, you can assign them a single value because static fields are shared among all instances of the class
You should declare these fields as instance fields to provide different values for each myfile instance:
private String path; private String name;
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码