![](/img/trans.png)
[英]i keep getting a compiler error saying, Rainfallmain.java:13: error: <identifier> expected.
[英]<identifier> expected. java
我有這段java代碼。 我是java中的菜鳥..
錯誤:
<identifier> expected
cfg = 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 --------
是的,這是問題所在:
public class ClosureBuilder {
cfg = new Config();
...
}
在班級的頂層,您只能:
{ ... }
) static { ... }
) 這些都不是。 如果你想聲明一個變量,你應該這樣做:
private Config cfg = new Config();
如果這不是你打算做的,你應該解釋你的意圖。
編輯:一旦你修復了這個,這個編譯錯誤似乎很清楚:
class Config是public,應該在名為Config.java的文件中聲明
有兩種可能的解決方法:
Config
非公開 Config.java
的文件 要么應該修復該錯誤(可能揭示更多)。
你在哪里宣布你的cfg
變量?
我只看到作業。 我想這可能就是原因。
Config cfg = new Config();
大聲解決它。
雖然你的意圖不是很明確,但我假設你想在任何其他變量之前創建cfg。 首先將您的類Config聲明為非公共或移動到文件Config.java。 在靜態塊中初始化cfg是有意義的。 以下是可能的代碼段:
private static Config cfg = null;
private static String JDBC = null;
靜態的 {
cfg = new Config();
JDBC = cfg.getProperty("JDBC");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.