Class file in Java is compiled form of Java source file. When we compile Java program which is written in Java source file ended with .java extension, it produces one more class files depending upon how many classes are declared and defined in that Java source file. One Java source file can only contain one public class and its name must match with name of file e.g. HelloWorld.java file can contain a public class whose name should be HelloWorld as shown below :
if you compile this Java file by
it will produce
Class file details in Java
.class extension and contains bytecode which are instruction for Java Virtual Machine, which then translates those bytecode into platform specific machine level instruction based upon whether Java program is running on Windows or Linux. In fact this combination of class file, bytecode and JVM makes Java achieves platform independence.If any one ask What is byte code in Java, is it machine instruction? you can answer them that its just meant for JVM and not for machine.
When you run a Java program as described in this step by step tutorial for running java program using java command, we provide name of class file which contains main method in Java. JVM first loads that file and executes main method which is entry point of Java application. Remember java compiler or javac command is used to create class file from java source file and java command is used to run Java program stored in class file.
Since class file contains bytecode in hex format and format of class file is well documented any one can temper with class file and break Java security grantees. In order to prevent that every Java class file is verified by Verifier after loading during Byte code verification process and Verifier rejects the class file which violates constraints of Java programming language.
That's all on What is Class file in Java and How to create class file in Java. In short Class file is a binary file which contains bytecode and Java compiler is used to crate Class file in Java.
Other Java tutorial you may find useful