[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Basic java question - Calling a class from a class

Posted on 2011-09-07
9
Medium Priority
?
189 Views
Last Modified: 2012-05-12
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
0
Comment
Question by:jkteater
  • 8
9 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 36498359

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
 
LVL 47

Expert Comment

by:for_yan
ID: 36498366
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
 
LVL 47

Expert Comment

by:for_yan
ID: 36498386

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
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 

Author Comment

by:jkteater
ID: 36498426
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
 
LVL 47

Accepted Solution

by:
for_yan earned 500 total points
ID: 36498430
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
 
LVL 47

Expert Comment

by:for_yan
ID: 36498439

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

Expert Comment

by:for_yan
ID: 36498449


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
 
LVL 47

Expert Comment

by:for_yan
ID: 36498455
In this case if Class2 will be accessible through CLASSPATH as I mentioned above it will execute static method of Class2
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36498480
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

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Suggested Courses

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question