System.out 编译器错误
System.out compiler error
我正在使用 Linux 文本编辑器并通过终端进行编译。我遇到了一个奇怪的问题,我在一个简单的 System.out.println
上遇到了编译器错误。
这是我的代码。我正在尝试在本地主机数据库上实施 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 以尝试新功能:
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)
这只能是因为这两个原因。
- 任一
java.sql.*
包裹包含任何 System
Class.
或
- 任何已由用户定义的
System
Class 已存在于您的 Package
.
根据要求:据说这种类型的 st运行ge 错误通常是 conflicting/wrong 导入的问题,这里似乎就是这种情况,即 class System
在同一个包里。
我们经常 运行 遇到的另一个案例是 com.ibm.icu.math.BigDecimal
与 java.math.BigDecimal
。
我正在使用 Linux 文本编辑器并通过终端进行编译。我遇到了一个奇怪的问题,我在一个简单的 System.out.println
上遇到了编译器错误。
这是我的代码。我正在尝试在本地主机数据库上实施 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 以尝试新功能:
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)
这只能是因为这两个原因。
- 任一
java.sql.*
包裹包含任何System
Class.
或
- 任何已由用户定义的
System
Class 已存在于您的Package
.
根据要求:据说这种类型的 st运行ge 错误通常是 conflicting/wrong 导入的问题,这里似乎就是这种情况,即 class System
在同一个包里。
我们经常 运行 遇到的另一个案例是 com.ibm.icu.math.BigDecimal
与 java.math.BigDecimal
。