Java - 私有(private)初始化器或构造函数中的初始化?

标签 java initialization conventions

为什么 Swing Tutorials 中的一些示例类(抱歉,我不记得是哪些;我可能是错的,但我知道我在某处看到过)像这样使用私有(private)方法?:

public MyClass{
    public MyClass(){
        .
        .
        .   
        initializeComponents();
        .
        .
        .
    }
    private void initializeComponents(){
        //initializing
    }
}

这是正确的约定还是这样?

public MyClass{
    public MyClass(){
        .
        .
        .
        //initializing components
          //component initialization
        .
        .
        .
    }
}

哪种初始化方式更好?

我只看到有大量组件要初始化的示例类使用私有(private)方法,所以似乎是为了可读性。我对吗?如果是这样,使用注释难道不会提供类似水平的可读性吗?

最佳答案

so it seems like it's for readability. Am I right?

是的,为了提高可读性以及将所有组件初始化保存在一个方法中,类似的方法用于 .Net 框架中的 WinForm。如果仅使用注释,那么想象一下您的构造函数仅使用 200 行代码来进行组件初始化。

If that is so, wouldn't using comments also provide a similar level of readability?

组件初始化不仅仅是调用组件类的构造函数,通常还涉及设置其他属性,如高度、宽度、位置等。现在想象一下,如果使用注释和空格,那么构造函数将有数百行代码,只是因为组件初始化。

关于Java - 私有(private)初始化器或构造函数中的初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16601671/

相关文章:

C# 字符串连接最佳实践

java - 使用 eBay API 获取产品详细信息

java 模板 如何显式指定在已命名的类上使用参数变量?

java - 如何格式化此字符串 "2015-06-22T09:40:30+01:00"in dd/MM/yyyy at hh :mm format?

c - 结构上的指定初始化程序会导致 strcpy 和 realloc 中出现段错误

C++ 模板静态成员指针初始化

javascript - 什么是 backbone.js 命名约定?

sql - 可空外键的优势

java - 类参数缺少最后的引号

c - scanf 不断取值(输入)