我需要在类中创建一个最终字符串并从方法中初始化它,我搜索了互联网,有些人说可能,有些人说不行!
我跳过了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/