Newbie - custom class

  • Follow


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?

0
Reply jure.sah (7) 10/21/2006 2:41:59 PM

/* 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
*/
DustWolf wrote:
> 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?

0
Reply java1022 (4) 10/21/2006 3:22:12 PM


Works perfectly, thanks. :)

0
Reply jure.sah (7) 10/21/2006 4:22:04 PM

(Posting reorganized to eliminate top-posting)
 > DustWolf wrote:
 >> 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?

java@starflag.net wrote:
> /* 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
  */
0
Reply lew35 (439) 10/21/2006 11:38:36 PM


On Oct 22, 1:38 am, Lew <l...@nowhere.com> wrote:
> (Posting reorganized to eliminate top-posting) > DustWolf wrote: >> Hello,
>  >>
>  >> I need a direct solution and no theory.
>  >>
>  >> I would like to package some methods in a separate .class file. I'm n=
ot
>  >> 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?
> > Bear in mind that the simplified example appears to endorse putting cla=
sses in
> 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.

--=20
R=E9gis

0
Reply regis.decamps (4) 10/21/2006 11:55:23 PM

4 Replies
19 Views

(page loaded in 0.111 seconds)

Similiar Articles:













7/12/2012 4:30:39 PM


Reply: