Next: Importing a package from another package, Previous: Moving a class into a sub-package, Up: Packages in J.T.W. and Java [Contents][Index]
When referring to a class or interface in a package you need to specify the package name in front of every class name and interface name in the package you want to access, like so, in the main folder ~/jtw-tutorials (outside of any package):
class B
begin
beginMain
var pkg.A a1 = new pkg.A(123);
a1.meth1(); // prints out "meth1:123"
var pkg.A a2 = new pkg.A(456);
a2.meth2(); // prints out "meth2:456"
pkg.A.func(); // prints out "func:666"
endMain
end
To avoid having to qualify each class name and interface name with it’s package, you need to use the import directive like so before the definition of the class like so:
import pkg.*;
class B
begin
beginMain
var A a1 = new A(123);
a1.meth1(); // prints out "meth1:123"
var A a2 = new A(456);
a2.meth2(); // prints out "meth2:456"
A.func(); // prints out "func:666"
endMain
end