towers.789@gmail.com schrieb:
>> I am not quit understand you, by the way ,cann't you just create a
>> object of queryBuild and call its method?
[quoted text clipped - 3 lines]
> trouble passing them back and forth between classes and other .java
> files, I think.
It doesn't matter in which file a class is defined. So, don't think
about files but classes and objects.
Open a file C.java in some good old text editor of your choice. Declare
a class A by typing the following into the editor:
class A {
private String x = "Initial Value";
public void setX( String x ) {
this.x = x;
}
public String getX() {
return x;
}
}
The public methods of this class (which form the interface of the class)
indicate, what you need to set x in an object of A. All you need is
a) a reference to an object of A
b) and to call setX
Sure, you want to prove it. Add the following to your C.java text file:
class B {
private A a; // the reference to an object of A
public B(A a) { // constructor that takes a reference to an object
this.a = a; // of A
}
public void doit() {
a.setX("New Value");
}
}
Last, we need a third class, one that only defines the main-method. Put
your hands on your keyboard and type the following:
public class C {
public static final void main( String args[] ) {
A a = new A(); // create a new instance of A
B b = new B(a); // create a new instance of B, passing the
// newly created instance of A to it.
System.out.println( a.getX() );
b.doit();
System.out.println( a.getX() );
}
}
Save C.java, compile it by executing "javac C.java". Run it by "java C"
and see what happens.
After that works, let's separate the classes into different files. So,
create two more files A.java and B.java, cut&paste the two classes A and
B into these files and declare them to be public (public class A, public
class B).
Delete the old *.class files. Then, execute "javac C.java" followed by
"java C". Also, have a look at your directory - there'll be three .class
files.
You should have some idea now, how to integrate this into your project.
Bye
Michael