码迷,mamicode.com
首页 > 编程语言 > 详细

java的编译过程

时间:2018-09-28 15:20:42      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:ati   opened   sys   sig   eth   closed   system   pre   struct   

用记事本编写两个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.
   public 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);
   }
}
View Code

第二个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的编译过程

标签:ati   opened   sys   sig   eth   closed   system   pre   struct   

原文地址:https://www.cnblogs.com/tanfuchao/p/9718617.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!