java的編譯過程
阿新 • • 發佈:2018-09-28
The alt 虛擬機 emp for each 技術分享 struct created pan
用記事本編寫兩個java文件
第一個Employee.java
import java.io.*; public class Employee{ String name; int age; String designation; double salary; // This is the constructor of the class Employee public Employee(String name){ this.name = name; } // Assign the age of the Employee to the variable age.View Codepublic void empAge(int empAge){ age = empAge; } /* Assign the designation to the variable designation.*/ public void empDesignation(String empDesig){ designation = empDesig; } /* Assign the salary to the variable salary.*/ public void empSalary(double empSalary){ salary= empSalary; } /* Print the Employee details */ public void printEmployee(){ System.out.println("Name:"+ name ); System.out.println("Age:" + age ); System.out.println("Designation:" + designation ); System.out.println("Salary:" + salary); } }
第二個EmployeeTest.java
import java.io.*; public class EmployeeTest{ public static void main(String args[]){ /* Create two objects using constructor */ Employee empOne = new Employee("James Smith"); Employee empTwo = new Employee("Mary Anne"); // Invoking methods for each object created empOne.empAge(26); empOne.empDesignation("Senior Software Engineer"); empOne.empSalary(1000); empOne.printEmployee(); empTwo.empAge(21); empTwo.empDesignation("Software Engineer"); empTwo.empSalary(500); empTwo.printEmployee(); } }View Code
打開cmd
進入文件所在目錄
運行 javac Employee.java
看目錄變化,會出現一個Employee.class
在運行 javac EmployeeTest.java
又會多出來一個EmployeeTest.java
在運行 java EmployeeTest
會出現運行結果
這說明了什麽呢?
命令 javac 是編譯器,將java源文件編譯成了可以被JVM(java虛擬機)讀懂的文件
命令 java 是執行代碼,JVM將class文件編譯為字節碼文件 讓計算機可以讀懂
所以 常常說的編譯,是將源文件編譯成JVM(虛擬機)需要的class文件
常常說的執行 是JVM讀class文件並讓計算機運行代碼
C :> javac Employee.java C :> javac EmployeeTest.java C :> java EmployeeTest Name:James Smith Age:26 Designation:Senior Software Engineer Salary:1000.0 Name:Mary Anne Age:21 Designation:Software Engineer Salary:500.0
java的編譯過程