This week's book giveaway is in the OCAJP forum.
We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes Only one public class per source file Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA Java SE 8 Programmer I Study Guide 1Z0-808 this week in the OCAJP forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Only one public class per source file" Watch "Only one public class per source file" New topic
Author

Only one public class per source file

Vrushank Shukla
Greenhorn

Joined: Sep 10, 2012
Posts: 14
Can anyone explain the reason for only one public class per source file?

I read many post about it, but still I can't get it. Please explain me.
Keerthana Bijoor
Greenhorn

Joined: Mar 01, 2013
Posts: 2
This public class acts as the initial class from where the JVM instance for the java program is begun.So when you provide more than one public class in a program the compiler itself stops you by throwing an error. This is because later you can't confuse the JVM as to which class to be its initial class because only one public class with the public static void main(String args[]) is the initial class for JVM.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14487
    
  23

It's just a choice that the inventors of Java made. There's no technical reason that explains why there must be only one public class per source file.

You can debate about why exactly they made that choice, but frankly, that isn't a very interesting discussion - there's not really a final, definitive answer that explains it. Maybe they made the choice to keep things simple and organized - if you're looking for the source code of a public class SomeClass, you know you're going to find it in a file named SomeClass.java. So, this rule makes it easier to find.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
Vrushank Shukla
Greenhorn

Joined: Sep 10, 2012
Posts: 14
ok thanks Jesper and Keerthana.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 40436
    
  28
Keerthana Bijoor, welcome to the Ranch
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Only one public class per source file