System.out编译器错误

时间:2016-04-01 10:39:10

标签: java jdbc system.out

我使用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)

2 个答案:

答案 0 :(得分:3)

根据请求:据说这种奇怪的错误往往是冲突/错误的导入问题,就像这里的情况一样,即同一个包中的类System

我们经常遇到的另一个案例是com.ibm.icu.math.BigDecimaljava.math.BigDecimal

答案 1 :(得分:2)

这只能因为这两个原因而发生。

  1. 任何java.sql.*包都包含任何System类。
  2. OR

    1. System
    2. 中已存在任何已用户定义的Package