21xrx.com
2024-11-22 13:23:55 Friday
登录
文章检索 我的文章 写文章
Java中的Set方法:能否赋值与获取成员变量的值?
2023-06-11 04:06:02 深夜i     --     --
Java Set方法 成员变量 赋值 获取值

在Java编程语言中,Set方法是一种常见的封装方式,用于控制类的属性访问。Set方法可用于赋值和获取成员变量的值。 但是,有些开发者可能会遇到Set方法中获取不到成员变量的值的问题,这时候就需要进一步了解Set方法如何工作以及如何正确使用它们。

Set方法可以帮助开发者控制成员变量的访问,以确保不会直接访问它们。 一般来说,Set方法的名称是固定的,以set开头,后面跟着的是类的属性名。下面是一个Java示例类:


public class Person {

  private String name;

  public String getName()

    return name;

  

  public void setName(String name)

    this.name = name;

  

}

在这个类中,可以使用setName()方法来设置person的name属性。例如,下面的代码将person的名字设置为“John Doe”:


Person person = new Person();

person.setName("John Doe");

此时,person对象的name属性的值已经被设置为“John Doe”了。然而,有些开发者可能会遇到一种问题,即在Set方法中无法获取成员变量的值。例如,下面是一种常见的模式:


public class Person {

  private String name;

  public void setName(String name)

    this.name = name;

  

  public String getName()

    return name;

  

  public void printName() {

    System.out.println(getName());

  }

}

在这个示例中,printName()方法使用getName()来获取person对象的name属性的值,并将其打印到控制台上。然而,在某些情况下,printName()方法可能打印null,而不是预期的name值。这是因为在setName()方法中设置name属性的值时,并没有使用this.name或者Person.name来访问成员变量的值,而是直接使用了name变量。这使得Java无法正确识别所涉及的属性。

为避免这种情况,应该使用this关键字来引用成员变量。这样在Set方法中设置name属性时,就可以使用this.name,这样就可以正确获取成员变量的值。修改后的代码如下所示:


public class Person {

  private String name;

  public void setName(String name)

    this.name = name;

  

  public String getName()

    return name;

  

  public void printName() {

    System.out.println(getName());

  }

}

总结来说,Java中的Set方法可以用于赋值和获取成员变量的值,但是需要遵循正确的使用方式。在编写Set方法和使用成员变量时,务必使用this关键字来引用成员变量。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复