get方法如何知道它需要返回什么

时间:2015-11-25 20:32:28

标签: java return

我很难理解何时可以返回值

例如,我将使用get和set方法:

案例1:

类别:

Range

主:

public class Debb {
         private String word;
         public void setName(String n){
         word = n;
           }

         public String getName(){
             return word;
           }

         public void say(){
             System.out.println(getName());
             }

           }

案例2:

类别:

 public class nebb {
    public static void main(String args[]){ 
       String plane = "plane";


       Debb temp = new Debb();
       temp.setName(plane);
       temp.say();
  }
 }

主:

       public class lav {
          private String word;
          public void setName(){
                word = "luka";
              }

          public String getName(){
                return word;
              }

          public void say(){
                System.out.println(getName());
                    }
               }

我完全理解案例2会发生什么。 getName()没有与setName()的连接,所以它不知道要返回什么,我将得到null。

但是案例1如何方法getName()知道它需要从setName()返回word的值。

3 个答案:

答案 0 :(得分:3)

getName()正在返回word,您使用setName()将其设置为“平面”。

  

我完全理解案例2会发生什么。 getName()没有   与setName()的连接,所以它不知道要返回什么,我会   得到null。

实际上你误解了这一点,getName()再次返回word,但在这种情况下,由于你没有为它提供任何值,它被初始化为默认值{{1} }

答案 1 :(得分:0)

该类有一个字段String字。

private String word;

当你说

public void setName(String n){
    word = n;
}

你在说

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

因此,getName在调用

时正在访问相同的字段
public String getName(){
   return this.word;
}

答案 2 :(得分:0)

当您将单词设置为“plane”时,在方法设置器中。

 public void setName(String n){
     word = n;
       }

当你用getter方法得到它时,词的价值就来了

 public String getName(){
         return word;
       }

Bacuase你指的是同一个变量。在这样的方法中添加键this是一种很好的做法。

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