在私有java变量中使用它

时间:2015-02-25 13:35:06

标签: java

我正在做这样的事情:

public class Job {
    private int priority;
    private String name;

    public Job(){
        priority=0;
        name="";
    }

    public Job(int p, String t){
        if (p>0){
            priority=p;
            name=t;
        }
        else{
            System.out.println("Wrong");
        }
    }


    public int getPriority() {
        return priority;
    }

    public void setPriority(int priority) {
        if (priority>0){
            this.priority = priority;
        }
        else{
            System.out.println("Wrong");
        }
    }

    public String getName() {
        return name;
    }

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

这似乎是正确的。 我想知道我是否可以简单地在setName中执行,例如:

public void setName(String new_name) {
    name = new_name;
}

这是对的,还是我错过了什么? 谢谢!

2 个答案:

答案 0 :(得分:0)

通常首选使用this,因为它让程序员清楚地了解了this.foo引用foo对象的代码(或this.foo()的方法在你的班级。

虽然你可以按照你的例子两种方式做到,但第二个可能会对名称造成一些混淆,因为开发人员现在需要记住,最终会使用两个不同的变量名来指向同一个项目。 / p>

答案 1 :(得分:0)

可以在不使用'this.'

的情况下访问私有变量

但是使用它是编写构造函数的首选方法,以避免混淆。