首页 > 代码库 > Understand How Java Programs Work

Understand How Java Programs Work

Java programms that run locally on your computer are called applications. Programs that run on web pages are called applets.

You can run Java applications from a command line using java, a program that invokes the JVM. Eclipse uses this program behind the scenes when you run programs. The command can include extra intems of information, as in this example: java TextDisplayer readme.txt /p . Extra information sent to a program is called an argument.

 

***********************************************************

1. Application example1: The Full Text of Root.java

 

public class Root {

  public staticvoid main(String[] args) {

    int number = 225;

    System.out.println("The square root of "

        +number

        +" is "

        +Math.sqrt(number)

    ); 

  }

}

************************************************************

###############################################

************************************************************

2. Application example2: The Full Text of Root.java

 

public class Protect1 {

  public static void main(String[] arguments) {

    System.out.println("The " + arguments[0]

        +" " + arguments[1] + " fox "

        +"jumped over the "

        + arguments[2]

        +"dog."

      );

    }

}

************************************************************

注: 为什么在java中为什么要把main方法定义为一个static方法

(1)在类中,变量的前面有修饰符static称为静态变量(类变量),方法的前面有修饰符static称为静态方法(类方法)。静态方法和静态变量是属于某一个类,而不属于类的对象。
(2)静态方法和静态变量的引用直接通过类名引用。
例如:类Point中有个 static int x;类变量,我们要引用它:Point.x=89;
(3)在静态方法中不能调用非静态方法和引用非静态的成员变量。反之,则可以。静态方法只能调用静态方法或实例的方法。
原因:静态变量和静态方法在类被加载的时候就分配了内存空间,当非静态的方法调用他们的时候,他们已经有了内存空间,当然是可以调用的咯!
(4)可以用类的对象去调用静态的方法。  
    我们知道,在C/C++当中,这个main方法并不是属于某一个类的,它是一个全局的方法,所以当我们执行的时候,c++编译器很容易的就能找到这个main方法,然而当我们执行一个java程序的时候,因为java都是以类作为程序的组织单元,当我们要执行的时候,我们并不知道这个main方法会放到哪个类当中,也不知道是否是要产生类的一个对象,为了解决程序的运行问题,我们将这个main方法定义为static,这样的话,当我们在执行一个java代码的时候,我们在命令提示符中写:java Point(Point为一个类),解释器就会在Point这个类当中,去调用这个静态的main方法,而不需要产生Point这个类的对象,当我们加载Point这个类的时候,那么main方法也被加载了,作为我们java程序的一个入口。

 

************************************************************

2. Applet example : The Full Text of RootApplet.java

 

import java.awt.*;

public class Protect1 extends javax.swing.JApplet{

  intnumber;

  public void init(){

     number = 225;

  }

  public void paint(Graphics screen) {

    Graphics2D screen2D = (Graphics2D) screen;

    screen2D.drawString("The square root of " +

      number +

      " is "+

       Math.sqrt(number), 5, 50);

  }

}

 

************************************************************

 

Understand How Java Programs Work