我可以在构造函数中调用set方法吗?

kar

我有许多设置方法的设置,并使用构造函数初始化其值,如下所示。它正在工作,但是我担心这样做是否符合正常的Java约定(在构造函数内部调用set方法是否正常?)。

我可以想到的另一种方法是调用一个空的构造函数,然后在main方法中一个接一个地调用set方法来设置值。我发现第二种方法很乏味。请提出建议,如果我所做的一切很好/是否符合Java约定,或者是否有更好的方法可以做到这一点。告诉我是否需要发布更多代码以使问题更清楚。我可以发布所有内容(如果更合理)。谢谢。

public Person(String foreName,String surName, int age, double height, String gender){
        personCount++; 
        setForeName(foreName);
        setSurName(surName);
        setAge(age);
        setHeight(height);
        setGender(gender); 
    }
奥斯卡·洛佩兹(Oscar Lopez)

这不仅仅是品味问题。如果方法中没有多余的逻辑setXXX(),则约定是直接在构造函数中分配属性:

this.foreName = foreName;
this.surName = surName;

... 等等。但如果额外的逻辑在setXXX()方法,那么你应该根据需要使用它们。假设调用了记录逻辑或类似逻辑:

public void setForeName(String pForeName) {
    log.info("setting new foreName value: " + pForeName);
    this.foreName = pForeName;
}

看看最后一行setForeName()与执行直接分配有何相同?还要注意,调用asetXXX()可能会带来非常非常小的性能成本(很可能是由JIT编译器进行了优化)。通常情况下,您应该首先针对可读性和清晰度进行优化,并且在此处使用直接分配的IMHO是首选。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

可以在构造函数中调用异步方法吗?

来自分类Dev

我可以从 C# 中另一个类的构造函数调用构造函数吗?

来自分类Dev

我可以用Java调用Enums构造函数吗?

来自分类Dev

我可以在JavaScript中仅调用基本构造函数而不使用原型来模拟继承吗?

来自分类Dev

我可以在C#中调用相同类的重载构造函数吗?

来自分类Dev

我可以在域对象构造函数中调用grails服务吗?

来自分类Dev

可以从构造函数调用私有最终方法吗?

来自分类Dev

我可以对尚未在构造方法中实例化的属性执行set方法吗?

来自分类Dev

我可以在构造函数中使用访问器方法吗?

来自分类Dev

我可以在抽象基类中定义构造函数吗?

来自分类Dev

我可以在构造函数注释中引用属性注释吗?

来自分类Dev

我可以在构造函数注释中引用属性注释吗?

来自分类Dev

我可以在我的设置函数中调用基类方法吗

来自分类Dev

我可以将调用复制构造函数的两种语法分为两种不同的方法吗?

来自分类Dev

我可以显式地调用类的构造函数和析构函数吗?

来自分类Dev

我可以在外部构造函数中为参数类型构建无参数构造函数吗?

来自分类Dev

我可以从列表中调用函数吗?(python2.7)

来自分类Dev

我可以在f#中按名称调用函数吗?

来自分类Dev

我可以在jQuery scroll()中调用预定义函数吗?

来自分类Dev

我可以在jQuery scroll()中调用预定义函数吗?

来自分类Dev

我可以在赋值运算符内部调用构造函数吗?

来自分类Dev

我可以在构造函数调用中将对象的状态设置为对象本身吗?

来自分类Dev

我们可以在反应中使用其他名称调用构造函数(props)吗?

来自分类Dev

我可以使用泛型来调用其构造函数吗?

来自分类Dev

定义函数后,我们可以在函数调用中调用函数吗

来自分类Dev

我应该在构造函数中调用成员函数吗

来自分类Dev

可以在类的构造函数内部使用“ new”来调用Java中的另一个构造函数吗?

来自分类Dev

NodeJS:静态方法可以调用同一个类的构造函数吗?

来自分类Dev

我们可以在Appscript调用的单个函数中调用两个函数吗?

Related 相关文章

  1. 1

    可以在构造函数中调用异步方法吗?

  2. 2

    我可以从 C# 中另一个类的构造函数调用构造函数吗?

  3. 3

    我可以用Java调用Enums构造函数吗?

  4. 4

    我可以在JavaScript中仅调用基本构造函数而不使用原型来模拟继承吗?

  5. 5

    我可以在C#中调用相同类的重载构造函数吗?

  6. 6

    我可以在域对象构造函数中调用grails服务吗?

  7. 7

    可以从构造函数调用私有最终方法吗?

  8. 8

    我可以对尚未在构造方法中实例化的属性执行set方法吗?

  9. 9

    我可以在构造函数中使用访问器方法吗?

  10. 10

    我可以在抽象基类中定义构造函数吗?

  11. 11

    我可以在构造函数注释中引用属性注释吗?

  12. 12

    我可以在构造函数注释中引用属性注释吗?

  13. 13

    我可以在我的设置函数中调用基类方法吗

  14. 14

    我可以将调用复制构造函数的两种语法分为两种不同的方法吗?

  15. 15

    我可以显式地调用类的构造函数和析构函数吗?

  16. 16

    我可以在外部构造函数中为参数类型构建无参数构造函数吗?

  17. 17

    我可以从列表中调用函数吗?(python2.7)

  18. 18

    我可以在f#中按名称调用函数吗?

  19. 19

    我可以在jQuery scroll()中调用预定义函数吗?

  20. 20

    我可以在jQuery scroll()中调用预定义函数吗?

  21. 21

    我可以在赋值运算符内部调用构造函数吗?

  22. 22

    我可以在构造函数调用中将对象的状态设置为对象本身吗?

  23. 23

    我们可以在反应中使用其他名称调用构造函数(props)吗?

  24. 24

    我可以使用泛型来调用其构造函数吗?

  25. 25

    定义函数后,我们可以在函数调用中调用函数吗

  26. 26

    我应该在构造函数中调用成员函数吗

  27. 27

    可以在类的构造函数内部使用“ new”来调用Java中的另一个构造函数吗?

  28. 28

    NodeJS:静态方法可以调用同一个类的构造函数吗?

  29. 29

    我们可以在Appscript调用的单个函数中调用两个函数吗?

热门标签

归档