这是一个非常简单的java OOP,但我有一段时间没有这样做...当从另一个引用一个java类时,我得到一个“找不到符号”错误
第1课:
package toaV2;
import java.sql.Connection;
public class vehicle_model
{
public db_model DB;
public Connection conn;
public static void main(String[] args) {
vehicle_model v = new vehicle_model("system");
}
public vehicle_model(String sys) {
DB = new db_model(sys);
conn = DB.connect();
if(conn != null) {
System.err.println("Got a connection.");
}
else {
System.err.println("Couldn't get a connection...");
}
}
}
第2课:
package toaV2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class db_model
{
private static String driver = "com.mysql.jdbc.Driver";
private static String dbUser = "user";
private static String dbPass = "pass";
private static String dbUrl = "jdbc:mysql://url";
private static String system;
public static Connection conn;
public db_model(String sys)
{
system = sys;
}
public static Connection connect()
{
conn = null;
try
{
String dbName = system.toUpperCase();
String dbHost = dbUrl + dbName;
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser, dbPass);
}
catch(Exception e)
{
System.err.println("Exception: " + e.getMessage());
}
return conn;
}
}
我在编译时遇到的错误:
$ javac vehicle_model.java vehicle_model.java:10: cannot find symbol symbol : class db_model location: class toaV2.vehicle_model public db_model DB; ^ vehicle_model.java:24: cannot find symbol symbol : class db_model location: class toaV2.vehicle_model DB = new db_model(system); ^ 2 errors
答案 0 :(得分:1)
您需要在编译时为其他java文件提供类路径。 即javac -classpath path / to / class2 vehicle_model.java
答案 1 :(得分:0)
您必须在同一命令中编译两个文件,例如
javac vehicle_model.java db_model.java