Newbie - custom class

D

DustWolf

Hello,

I need a direct solution and no theory.

I would like to package some methods in a separate .class file. I'm not
sure how to:
1. Form the methods in my class file to make them available from the
outside
2. Convince another class to make the methods available
3. Compile the whole thing in a way that it actually works out

Help?
 
J

java

/* Put this in DustWolf.java */
public class DustWolf {
public static void main(String args[]) {
int n1 = 18;
int n2 = 36;

System.out.println("The sum of " + n1 + " and " + n2 + " is: " +
Helper.add(n1, n2));
}
}

/* Put this in Helper.java */
public class Helper {
public static int add(int a, int b) {
return a + b;
}
}

/* Compile with:
javac -classpath . Helper.java DustWolf.java

Execute with:
java -classpath . DustWolf
*/
 
L

Lew

(Posting reorganized to eliminate top-posting)
/* Put this in DustWolf.java */
public class DustWolf {
public static void main(String args[]) {
int n1 = 18;
int n2 = 36;

System.out.println("The sum of " + n1 + " and " + n2 + " is: " +
Helper.add(n1, n2));
}
}'

/* Put this in Helper.java */
public class Helper {
public static int add(int a, int b) {
return a + b;
}
}

/* Compile with:
javac -classpath . Helper.java DustWolf.java

Execute with:
java -classpath . DustWolf
*/

Bear in mind that the simplified example appears to endorse putting classes in
the default package, which is a well-known Bad Idea. It's may seem like a
complication if you're learning the basics of the "public" keyword, how to put
source into ".java" files and how to use javac, but it is just as important to
learn about packages as these other concepts.

To the OP: a "package" is related to what subdirectory the class file is in.
The simplified example put all the source code into the "default package",
which corresponded to the current directory "." mentioned in the "-classpath"
variables. When you feel more comfortable with how to declare a method
"public", how to organize source into ".java" files and the other basics of
the Java(tm) language, you will need to understand about subdirectories and
packages. The result will be something like:

/* Put this in somewhere/DustWolf.java */
package somewhere;
public class DustWolf {
...
}

/* Put this in somewhere/Helper.java */
package somewhere;
public class Helper {
...
}

/* Compile with:
javac somewhere/Helper.java somewhere/DustWolf.java

Execute with:
java -classpath . somewhere.DustWolf
*/
 
?

=?iso-8859-1?B?UulnaXMgROljYW1wcw==?=

(Posting reorganized to eliminate top-posting) > DustWolf wrote: >> Hello,
the default package, which is a well-known Bad Idea.

I agree.

As soon as you feel confident with the basics, I'd advise you to create
and manage your projects with Maven. Maven sugguests a directory layout
which is a compilation of best practices. And Maven is extremely simple
to use.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,169
Latest member
ArturoOlne
Top