【发布时间】:2015-03-23 06:04:33
【问题描述】:
所以我有一个ERDBUILDER.java 类是一个绘图面板,它允许我绘制存储在数组列表Connection 中的形状。我想从另一个类 SQL.java 访问这个 arraylist 并基于 arraylist 创建我的 sql 语句。我已经尝试了下面的代码,但我不知道主类应该是怎样的。我试图将new SQL(); 放在主类中,但它正在打开另一个ERDBUILDER.java 类,这不是我想要的。
那么我该如何运行这个,主类应该如何?
已编辑 有人可以帮忙吗?
package project;
import java.awt.Shape;
import java.util.ArrayList;
import project.ERDBUILDER.DrawingBoard.Attribute;
import project.ERDBUILDER.DrawingBoard.Connection;
import project.ERDBUILDER.DrawingBoard.Connection2;
import project.ERDBUILDER.DrawingBoard.NamedShape;
public class SQL {
public static void main(String args[]){
ArrayList<Connection> con = new ArrayList<>();
for (int a = 0; a < con.size(); a++) {
NamedShape f = con.get(a).getNamedShape1();
Attribute g = con.get(a).getNamedShape2();
String i = f.getName();
String j = g.getName();
Shape y = f.getShape();
Shape y1 = g.getShape();
System.out.println(i + " AND " + j + " are linked");
}
}
}
【问题讨论】:
-
您说“但它正在打开另一个 ERDBUILDER.java 类,这不是我想要的”。这让我觉得你在其他地方已经有另一个
main正在创建你想要的ERDBUILDER对象。这使我认为您对对象如何相互访问有误解。每次您使用main运行新的java进程时,该进程都是自包含的,无法访问在另一个进程中创建的对象。你想“负责”哪个班级?如果要在ERDBUILDER中运行main,则需要在此处实例化SQL表单,否则反之亦然。 -
@JRichardSnape 我的目标是在我绘制好形状并将其保存到
ERDBUILDER.java的数组列表中之后,然后我启动SQL.java它将分析数组列表的数据,而不是显示。我想让SQL.java在后台运行。只是建议我应该怎么做? -
@JRichardSnape 我在
ERDBUILDER.java中有一个主线程,SQL.java中有另一个主线程。好吧,我认为SQL.java应该有一个 main 才能运行。 -
我想你现在已经得到了这个问题和其他问题的答案,对吧?您对它的工作方式感到满意 - 您不需要在两个课程中都使用
main()? -
@J Richard Snape 不,我实际上只需要我的 ERDBUILDER.java 中的主类,而不需要 SQL.java。嗯,现在,在 SQL.java 中没有 main 很好
标签: java arraylist geometry migration erd