是的,这是问题所在:
public class ClosureBuilder { cfg = new Config(); ...}
在课程的最高级别,您只能拥有:
实例初始化程序块({ ... })静态初始值设定块(static { ... })变量声明构造函数声明方法声明嵌套类型声明终结器声明这些都不是。如果你 的意思 来声明一个变量,你应该这样做:
private Config cfg = new Config();
如果这 不是 您想要的,则应解释您的意图。
编辑:修复此问题后,此编译器错误似乎很明显:
Config类是公共的,应在名为Config.java的文件中声明
有两个潜在的解决方案:
设为Config非公开将其移动到名为 Config.java要么都应该修复该错误(可能会发现更多错误)。
解决方法我有这个Java代码段。我是Java的菜鸟。
错误:
<identifier> expectedcfg = new Config;
码:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.HashMap;import java.util.HashSet;import java.util.Set;import java.io.*;import java.util.*;import java.util.Properties;public class Config { Properties configFile; public Config(){configFile = new java.util.Properties();try { configFile.load(this.getClass().getClassLoader().getResourceAsStream('config')); }catch(Exception eta){ eta.printStackTrace();} } public String getProperty(String key) { String value = this.configFile.getProperty(key); return value; }}public class ClosureBuilder {
cfg = new Config();
private static String JDBC = cfg.getProperty('JDBC');private static String URL = cfg.getProperty('URL');private static String DIMENSION_TABLE = cfg.getProperty('DIMENSION_TABLE');private static String CLOSURE_TABLE = cfg.getProperty('CLOSURE_TABLE');private static String KEY = cfg.getProperty('KEY');private static String PARENT_KEY = cfg.getProperty('PARENT_KEY');private static Object TOP_LEVEL_PARENT_KEY = ’0’;private Object topLevel = null;private Set<Object> processedNodes;private PreparedStatement aPst;public static void main(String[] args) throws Exception {----------- More code --------