gpt4 book ai didi

java - get 和 set 方法的替代样式

转载 作者:行者123 更新时间:2023-12-01 18:29:21 25 4
gpt4 key购买 nike

我们都熟悉 Java 的“getter & setter”方法。它们是创建数据封装的好方法;确保类代码之外的任何私有(private)字段只能通过这些特定方法访问。这些方法可能包括检查、开销、同步等。

public class Person(){
private String name;
private int birthYear;

// traditional getter/setter syntax
public String getName(){ return name; }
public int getBirthYear(){ return birthYear; }
public void setName(String name){ this.name = name; }
public void setBirthYear(int birthYear){ this.birthYear = birthYear; }

// proposed overloading getter/setter syntax
public String name(){ return name; }
public int birthYear(){ return birthYear; }
public void name(String name){ this.name = name; }
public void birthYear(int birthYear){ this.birthYear = birthYear; }

}

我的问题是,使用方法重载为 getter/setter 提供上述“建议的”语法是否有任何问题?对我来说,它似乎更具可读性和直观性:

Person p = new Person();
p.name("Bob");
System.out.println(p.name());

我能想到的最大缺点是每个人都太习惯了 get/set 语法,这会让事情变得不那么可读。无论如何,这不是一个主要问题,我不介意使用 getter/setter,但我只是想到了这种对我来说看起来更漂亮的替代方式,并且想知道其他人的想法?

谢谢

最佳答案

是的。尽管“get”和“set”只是一种约定,但它们对于 Java bean 与反射正确工作是绝对必要的。

您可以阅读 BeanINfo 了解更多信息或关于class Introspector

关于java - get 和 set 方法的替代样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com