加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读