Solved

classes in a package talking to each other

Posted on 2000-05-16
8
168 Views
Last Modified: 2010-04-01
so say if I have few classes all in
/a/dir/where/classes/are
and I am saying
package a.dir.where.classes.are;
at the top of all.
Why can I not call a class from a diffredn
calls in the same package. I mean I have
say to classes in this dir and I want to
call one form the other.
But if I do I get told after it compiles
ok. when I try to run it
Error loading class mytest: Wrong name

also how can I just call the class name
if I only have one function in a class?

I should say it works ok if I put mytest
out side the dir and import the package

Thank you for helping
0
Comment
Question by:thedogeater
  • 4
  • 3
8 Comments
 
LVL 3

Expert Comment

by:falter
Comment Utility
Have you some code we can examine?

Definitly you can access a class in the same package.

If your class mytest has a package statement then the name is not mytest.
The name is package.mytest
In your example
so say if I have few classes all in
                  a.dir.where.classes.are.mytest

What do you mean by calling a class?

Second, you can not call only the class if there is only one method defined in the class.
At least ther will be more methods, because all classes extending Object, so
there are a lot of methods in you class.
You can define a method static and then call it with
classname.method(...)
0
 
LVL 4

Expert Comment

by:kylar
Comment Utility
This probably isn't the answer, but I need a reminder of this from time to time. make sure that you have the exact same package name, I frequently will put

com.kylar.Toolbox.MyClass;

when I mean

com.kylar.ToolBox.MyClass;

:)
Cheers
Kylar
0
 

Author Comment

by:thedogeater
Comment Utility
well say I have this

package my.package;

public class atest{
  public static void main(String args[]){
  String s = "why not is working";
    trying.tocall(s);
  }
}

and in a new file in same dir

package my.package

public class trying{
  public static void tocall (String meg){
    System.out.println(meg);
  }
}

kind of thing what is it I am doing wrong?
0
 

Author Comment

by:thedogeater
Comment Utility
alos how can I say have a class where I
will put a load of values which I will
use in all classes do I have to make
the all public of is this a easy way?
to ask more:+)

Thanks
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 

Author Comment

by:thedogeater
Comment Utility
alos how can I say have a class where I
will put a load of values which I will
use in all classes do I have to make
the all public of is this a easy way?
to ask more:+)

Thanks
0
 
LVL 3

Expert Comment

by:falter
Comment Utility
I have tried your example and it works witk little modifications:
- my.package; -> my.test;
- putting the files in a directory my/test
- compiling javac my/test/atest.java
- compiling javac my/test/trying.java

calling
java my.test.atest
result:
why not is working

0
 

Author Comment

by:thedogeater
Comment Utility
:+) it works thanks falter. I am happy
post for the points unless someone is
outdoing you with the other answer I aske


Thanks
0
 
LVL 3

Accepted Solution

by:
falter earned 200 total points
Comment Utility
thedogeater,
>alos how can I say have a class where I
>will put a load of values which I will
>use in all classes do I have to make
>the all public of is this a easy way?

If you wnt to use these values only as constants (read only) than the easiest way is to define them like this
public final int myConst1 = 5;
and access them with:
MyClass.myConst1

If you want to modify these values than I would prefer to make them private and code public methods for getting and setting them.

This will allow you to put in synchronizing code needed in a multithreaded environment.
0

Featured Post

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.

Join & Write a Comment

Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
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 learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

728 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

14 Experts available now in Live!

Get 1:1 Help Now