我使用Linux文本编辑器并通过终端进行编译。我遇到了一个奇怪的问题,我在一个简单的System.out.println
上遇到编译器错误。
这是我的代码。我正在尝试在localhost数据库上实现JDBC:
import java.sql.*;
class DatabaseConnection {
final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
final String DB_URL = "jdbc:mysql://localhost:3306/mydb";
final String user = "root";
final String pass = "pass";
Connection connection;
Statement statement;
public DatabaseConnection(){
}
public void connect(){
try {
//Class.forName(JDBC_DRIVER);
connection = DriverManager.getConnection(DB_URL, user, pass);
statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("show tables");
while(resultSet.next()){
System.out.println(resultSet.toString());
}
} catch (SQLException sqle) {
sqle.getErrorCode();
}
}
/*empty methods beyond this point*/
}
我的测试类试用新功能:
class Test {
public static void main(String[] args){
System.out.println("Hello");
DatabaseConnection connection = new DatabaseConnection();
connection.connect();
}
}
在终端编译时,我收到以下错误:
user@user ~/Desktop/Java/JavaSE_Project $ javac Test.java
Test.java:4: error: cannot find symbol
System.out.println("Hello");
^
symbol: variable out
location: class System
./DatabaseConnection.java:26: error: cannot find symbol
System.out.println("hello");
^
symbol: variable out
location: class System
2 errors
我理解我的逻辑目前还不是很正确,但老实说,为什么它这样做是非常愚蠢的。
Java版:
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
答案 0 :(得分:3)
根据请求:据说这种奇怪的错误往往是冲突/错误的导入问题,就像这里的情况一样,即同一个包中的类System
。
我们经常遇到的另一个案例是com.ibm.icu.math.BigDecimal
与java.math.BigDecimal
。
答案 1 :(得分:2)
这只能因为这两个原因而发生。
java.sql.*
包都包含任何System
类。OR
System
。Package
类
醇>