java - 将变量初始化为类或构造函数?

标签 java android

哪个更好或者哪个是正确的方法,你能否也给出解释(我不知道在谷歌上使用什么搜索词)。

第一种方式:

Public Class A()
{
    Paint _paint _test;

    public void running()
    {
        _test = new Paint();
       //use paint
    }
}

Public Class B()
{
    Paint _paint _test = new Paint();

    public void running()
    {
        //use paint
    }
}

谢谢

最佳答案

当您可能(也许在将来)可能想要将参数传递给成员的构造函数时,第一种方法更好,例如:

class Foo{
    private Bar bar;

    public Foo(){
        bar = new Bar();
    }

    public Foo( String s ){
        bar = new Bar( s );
    }
}

当您知道永远不想将参数传递给成员的构造函数并且您有多个构造函数都需要初始化该成员时,第二种方法更好,例如:

class Foo {
    private Bar bar = new Bar();

    public Foo( String s ){ ... }
    public Foo( int i ){ ... }
    public Foo( double d ){ ... }
    public Foo( String s, int i ){ ... }
}

关于java - 将变量初始化为类或构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340863/

相关文章:

java - 我如何在 java 中创建对象的副本,而不是指针

java - 使用 Hibernate OGM 和 MongoDB 保存一棵树,表示该树的集合不正确

java - Quarkus 项目在 Bamboo 中构建失败

java - 如何使用自签名证书连接到 Android(paho 客户端)中的 Mqtt 服务器?

Android 自定义字体 Spannable Typeface Span

java - maven pom xml 文件错误 : Building Android project

java - 如何查看我被重定向到哪个 URL?

java - Inet6Address.getByName() 确实返回(现有)IPv6 但仅返回 IPv4 地址?

android - Android AudioTrack类,用于播放钢琴声音

android - 为什么 DAO 必须是接口(interface)或抽象类?