<< Chapter < Page | Chapter >> Page > |
The overall skeleton of any Java program consists of one or more class definitions.
All methods and variables must be defined inside a class definition. There can be no freestanding methods or global variables.
File names and extensions
The name of the controlling class should be the same as the name of the source file that contains it.
Files containing source code in Java have an extension of java .
The main method
The controlling class definition for an application must contain the main method.
The primary class file
The file produced by compiling the file containing the controlling class has the same name as the controlling class, and has an extension of class .
Many class files may be produced
The java compiler produces a separate file for every class definition contained in an application or applet, even if two or moreclass definitions are contained in the same source file.
Thus, the compilation of a large application can produce many different class files.
What are jar files?
A feature known as a jar file can be used to consolidate those class files into a single file for more compact storage, distribution, andtransmission. Such a file has an extension of .jar . (A jar file is similar to a zip file except that it is specialized for use with Javaprograms.)
The main method is static
The controlling class for a Java application must contain a static method named main .
When you run the application using the JVM, you specify the name of the class file that you want to run.
The JVM then calls the main method defined in the class file having that name. This is possible because a class method can be called without a requirement to instantiate an object of the class.
The main method defined in that class definition controls the flow of the program.
I encourage you to copy the code from Listing 5 . Compile the code and execute it. Experiment with the code,making changes, and observing the results of your changes. Make certain that you can explain why your changes behave as they do.
This section contains a variety of miscellaneous information.
Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.
I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.
In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.
Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.
A complete listing of the program discussed in this module is provided in Listing 5 .
Listing 5 . Complete program listing. |
---|
/*File hello1.java Copyright 1997, R.G.Baldwin
This is a Java application program .When compiled, this program produces the class named:
hello1.classWhen the Java interpreter is called upon the application's
controlling class using the following statement at thecommand line:
java hello1the interpreter starts the program by calling the main
method defined in the controlling class. The main method isa class method which can be called without the requirement
to instantiate an object of the class.The program displays the following words on the screen:
Hello World*********************************************************/
class hello1 { //define the controlling class//define main method
public static void main(String[]args){
//display text stringSystem.out.println("Hello World");
}//end main}//End hello1 class. |
-end-
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?