Java - 如何在对象初始化期间将对象名称分配给字段

问题描述 投票:0回答:1

有一个类,在其中创建了对象。

初始化这个对象时,如何将这个对象的名称赋给“name”字段?

对象的数量可以是任意的,并且具有不同的类,需要为所需的对象分配一个名称。

例如,如果条件为 true - pName.name.equals("pName")

class Test {
    public static Page pName = new Page();
    
    public static void main(String[] args) {
        System.out.println(pName.name.equals("pName"));
    }
}

class Page {
    public String name;
    
    public Page() {
     name = getName();
    }
    
    public String getName() {
        return = Name of Object using Java Reflection;
    }
}
java oop reflection
1个回答
0
投票

请注意,您的

getName
在语法上不正确,我认为它需要是一个普通的 getter。

直接设置即可(不推荐):

Page page = new Page();
String somename = "some name";
page.name = somename;
if (page.name.equals(somename)) System.out.println("success");

或者通过setter(负责设置给定值的对象的方法),推荐这样做,因为setter可以负责执行我们可能想要在实际名称设置之前、而不是或期间执行的其他操作,例如验证或类似的东西:

class Page {
    public String name;
    
    public Page() {
     name = getName();
    }
    
    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

然后:

Page page = new Page();
String somename = "some name";
page.setName(somename);
if (page.name.equals(somename)) System.out.println("success");
© www.soinside.com 2019 - 2024. All rights reserved.