如何从下面的示例访问变量

时间:2015-11-29 20:56:42

标签: java variables getter

示例

这是Main class ..

public class Main {
    public static void main(String[] args) {
        Man one = new Man("Bob");
    }
}

这是Man类创建一个新名称并给他一个名字..

public class Man {
    public String name;

    public Man(String name) {
    this.name = name; 
  }
}

正如您所看到的,当我在Man中新建main class时,我将他命名为one。我如何从one类访问变量Man

我尝试过类似的事情:

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

虽然它不起作用。

2 个答案:

答案 0 :(得分:2)

你做不到。

变量名称 one仅在main方法的范围内有效。 Man类对于为指向其实例的变量选择的名称没有任何线索。

答案 1 :(得分:1)

要访问类的属性,可以在类中添加getter和setter。 getter返回String并且不带参数,setter接受参数并且不返回任何内容。见下面的例子:

public class Main {
    public static void main(String ... args) {
        Man man = new Man("Human!"); 

        System.out.println(man.getName());
        //Human!

        man.setName("Civilised human!");

        System.out.println(man.getName());
        //Civilised human!
    }
}

class Man {
    String name; 

    public Man(String name) {
        this.name = name; 
    }

    //getter for Man class 
    public String getName() {
        return name; 
    }

    //setter for Man class
    public void setName(String name) {
        this.name = name; 
    }
}

如果您可以在下列情况下公开访问类别,则还可以访问没有getter的类的属性:

System.out.print(man.name);