您是否可以在Java中使用类似于关键字args的概念来最小化访问器方法的数量?

我最近了解到,在 Python 3中,为了最小化类的访问器方法数量,您可以使用字典基本上只有一组访问器方法,如下所示:
def __init__(self,**kwargs):
    self.properties = kwargs

def get_properties(self):
    return self.properties

def get_property(self,key):
    return self.properties.get(key,None)

这似乎非常有用,我想在Java中应用类似的东西.我一直在研究可能具有多个属性的应用程序,创建和跟踪所有访问器方法可能很痛苦.是否有类似的策略我可以用于Java?

解决方法

如果它适合并且它最适合使用该模式,但它确实应该是Java规则的一个例外 – 它可能不合适.

Java中的最佳实践是为每个变量使用getter和setter方法.是的,这是更多的代码 – 所以 – 如果你的懒惰让你的IDE自动生成它们.这是有充分理由的.很多好理由.有些是;

>促进私人变量
>定义其他类的外部接口,允许类控制设置或获取变量的内容和方式
>通过建立处理对象变量的标准方法来促进良好的编码实践

通过移植此模式,您将遇到的问题是打字. Python是动态类型的,Java是静态类型的.因此,为了在Java中使用相同的模式,您必须将值存储在类似字符串/对象数组的内容中,然后将它们作为对象或String返回.那么你以后必须转换它们.也许如果你的’属性’都是字符串,那就没关系.该规则有例外,但您需要了解所有规则才能打破它们.如果它们是不同的类型(String,int,CustomObject等),请不要使用在Python中使用的相同模式.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...