Basic java question - Calling a class from a class

I am writing class 1 and it sets in directory A.  With in class 1 I need to call class 2 and it sets in directory B

I am not sure how to specify in my class 1 to run class 2
jkteaterAsked:
Who is Participating?
 
for_yanConnect With a Mentor Commented:
If you have package statement in Class2 then it should be located in certain folder relative to the folder
mentioned in CLASSPATH - and the relative location is determined by package

So if say Class2 satrts with the line

package com.company.pack;

then you should place you Class2.java into the folder

c:\foldres_path\B\com\company\pack

(assuming you are using the same command as above).
0
 
for_yanCommented:

You need to make sure hwne you compile and execute Class1 that you have
the directory where you have Class2 present in the classpath
0
 
for_yanCommented:
CLASSPATH can be defined either by enrinement variable CLASSPATH
or using swich -cp before your class name  on command line - both for javac and for java
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
for_yanCommented:

Make sure that neither Class1 nor Class2 have package statenemnet on top.
If so then if your defaiult folder is A
then in the command you can say:

C:\path\A> javac -cp .;c:\foldres_path\B  Class1.java

and the same during execution:

C:\path\A>java -cp .;c:\foldres_path\B  Class1
 
I assume that you are on Windows

0
 
jkteaterAuthor Commented:
The classpath is ok - I am having problems with the code

 public Object execute(final ExecutionEvent event) throws ExecutionException {
      
      
      Display.getDefault().asyncExec(new Runnable() {
         public void run() {
            ediBaseDialog();   <===  ediBaseDialog is a class sitting in dir B        
         }
      });
/*

Open in new window


I get a  error saying that ediBaseDialog is undefined
0
 
for_yanCommented:

 ediBaseDialog();   - is not a class - it is a method - is irt a static maethod or not ?
0
 
for_yanCommented:


if it is staic method then you should clali this way:

Class2.ediBaseDialog();  

Class2 is obviously the name of your class conatining this static method
0
 
for_yanCommented:
In this case if Class2 will be accessible through CLASSPATH as I mentioned above it will execute static method of Class2
0
 
for_yanCommented:
If
ediBaseDialog();  
is an instance metyjhod, then you first need to create instance of Class2, say tlike this

Class2 cl2 = new Class2();
cl2. ediBaseDialog();  

But in this case maybe you need to use some other constructore - maybe it requires some parameters,
but anyway if it is an instance method of Class2, then you first have to create an instance of the Class2 object
and then invokke method on that instance
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.