有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么可以在类级别定义属性实例,但不能将属性加载到其中?

在使用Java时,我注意到我可以在公共类中创建一个新的属性实例;但是,当我尝试将属性加载到properties实例中时,它不起作用,只在public void bla()中起作用。我创建了一个带有注释的示例代码来说明我的困惑:

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;


public class Foo {
    Properties myProps = new Properties(); // Can create the instance here (but can't load properties into it)
    myProps.load(new FileInputStream("src/main/resources/bla.properties")); // Does not work: Invalid method declaration


    public static void main(String[] args) {
    }

    public void bla() throws IOException {

        myProps.load(new FileInputStream("src/main/resources/bla.properties")); // works
        myProps.forEach(myProps::put);
    }
}

我最初的尝试是加载一些常量(在类级别),比如添加属性。然后在其他方法中引用这些加载的属性,以避免代码重复

我知道这可能与房产无关。我只是想理解Java的语法


共 (0) 个答案