Why only one Class is public in one file? Explain in
details. Thanks in Advance.

Answer Posted / slvganesh.java@gmail.com

A file may have more than one class. Each class may or may
not have main method. But only one main () for a class.

Here's some example: Just Copy it and Run..

/**
* Save this file as Class1.java, bcoz i'm using a class
* Class1 which is public.
*/

public class Class1 { // Note this line

/* This Class is public. So your file name should be the
same name.
*/

public static void main (String arg[]) {
System.out.println (" This is from Class1.. ");
} // Main
} // Class1

class Class2 { // Note this line
/* This class is not public. so it doesn't matter
your file name.
*/

public static void main (String arg[]) {
System.out.println (" This from Class2..");
}
}

class Class3 {
/* This class Calls the main() in Class1.
*/

static public void main (String arg[]) {
System.out.println (" This is from Class3..");

// Creating obj to Class1
Class1 c1 = new Class1 ();
c1.main (arg); //Main must have one arg as String[] type
}
}


Compile : javac Class1.java

After your compiled your can see three class files,
1. Class1.class
2. Class2.class
3. Class3.class

This is bcoz, java compiler converts the classes into files,
which has the bytecode instructions for that class.

Now you can execute the classes as you want.

Run : java Class1 (or)
java Class2 (or)
java Class3

After executing Class3 you may see the
Output :
This is from Class3..
This is from Class1..

Please understand, once you compiled your .java file, the
classes on that file will converted into .class (bytecodes).

Java interpreter looks only the .class.
In other words, java interpreter understand only the bytecodes.

Thanx for reading this..
Ganesh Slv.

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What do bitwise operators do?

532


What are the differences between throw and throws?

532


Can we override the static method?

580


What are methods?

561


How can you generate random numbers in java?

592






What is the purpose of the main method?

545


Which one of the following suits the description of a string better: derived or primitive?

515


What are the java ide’s?

577


Why wait(),notify(),notifyAll() methods defined in Object class althought we are using in only threads.

2376


What are the different types of garbage collectors in java?

551


What is application tier?

534


Can we have two methods in a class with the same name?

588


Java Compiler is stored in JDK, JRE or JVM?

1052


What is unmodifiable collection in java?

514


What are the 3 types of loops in java?

535