从方法初始化的 Java Final 实例变量

标签 java android final

我需要在类中创建一个最终字符串并从方法中初始化它,我搜索了互联网,有些人说可能,有些人说不行!
我跳过了this在接受的答案中,他表示这可以从构造函数中实现,但对非构造函数方法只字未提

但是,如果您删除静态,则可以执行以下操作:

class A  {    
    private final int x;

    public A()
    {
        x = 5;
    } }

就我而言,在 Android 中我想这样做

public class MyActivity extends Activity
{
    final String DOWNLOADS_FOLDER_PATH;
    @Override
    public void onCreate(Bundle savedInstanceState)
    { ....

   DOWNLOADS_FOLDER_PATH=Environment.getExternalStorageDirectory().getPath()+"/downloads/";
    // i cant do that neither
    // DOWNLOADS_FOLDER_PATH="s";
    }
}

我需要从一个方法初始化,因为我调用了

Environment.getExternalStorageDirectory().getPath()

有什么想法吗?

最佳答案

为什么不能立即初始化呢? getExternalStorageDirectory 是静态方法,因此:

static final String DOWNLOADS_FOLDER_PATH = Environment.getExternalStorageDirectory().getPath() + "/downloads/";

关于从方法初始化的 Java Final 实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18717995/

相关文章:

java - OSGi 可以安装/部署 URL 上托管的 bundle 吗?

java - Android,添加高度百分比的 View

java - 如何初始化需要复杂计算的最终变量?

java - 无法引用不同方法中定义的内部类内的非最终变量 lblNewLabel

Java:从字典中延迟加载单词:如何使其静态最终?

java - 无法直接在 JFrame 上绘画

java - Activity 旋转时,Viewmodel 显示空的回收 View

java - 哪些 RMI 异常表明连接丢失

android - 安装 PhoneGap 3.x

java - 使用共享首选项扩充 View