Solved

Basic java question - Calling a class from a class

Posted on 2011-09-07
9
174 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
 

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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 47

Accepted Solution

by:
for_yan earned 125 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

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
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.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

744 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now