Java技术文章JavaWebJava学习笔记

Java-003-第一个程序及class与java

2017-11-16  本文已影响206人  53b3f4658edc

步骤

微信公众号:JavaWeb架构师

编写

选择最简单的编辑器:记事本。
敲入代码

class Test{  }

将文件保存成Test.java,这个文件是存放java代码的文件,称为源文件。


编译

有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。
在该源文件目录下,通过javac编译工具对Test.java文件进行编译。

#去到源文件的保存位置
Macs-MacBook-Pro:~ mac$ cd /Users/mac/Desktop/
#使用javac进行源文件的编译
Macs-MacBook-Pro:Desktop mac$ javac Test.java 

如果程序没有错误,没有任何提示,但在当前目录下会出现一个Test.class文件,该文件称为字节码文件,也是可以执行的java的程序。


微信公众号:JavaWeb架构师

运行

有了可执行的java程序(Test.class字节码文件)
通过运行工具java.exe对字节码文件进行执行。
出现提示:缺少一个名称为main的方法。

#使用java命令执行字节码
Macs-MacBook-Pro:Desktop mac$ java Test
#报错
错误: 在类 Test 中找不到 main 方法, 请将 main 方法定义为:
   public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application
Macs-MacBook-Pro:Desktop mac$ 

因为一个程序的执行需要一个起始点或者入口,所以在Test类中的加入public static void main(String[] args){ }

public class Test {
    public static void main(String[] args) {
        
    }
}

对修改后的Test.java源文件需要重新编译,生成新的class文件后,再进行执行。
发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。

# 编译
Macs-MacBook-Pro:Desktop mac$ javac Test.java 
#执行
Macs-MacBook-Pro:Desktop mac$ java Test
Macs-MacBook-Pro:Desktop mac$ 

想要和JVM来个互动,只要在main方法中加入一句
System.out.println("Hello World");因为程序进行改动,所以再重新编译,运行即可。

public class Test {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

结果:

Macs-MacBook-Pro:Desktop mac$ javac Test.java 
Macs-MacBook-Pro:Desktop mac$ java Test
Hello World
Macs-MacBook-Pro:Desktop mac$ 

class文件与java文件的关系

一个源文件中可以有多个类。

public class Test {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}


//人类
class Person{ }

//动物类
class Animal{}

编译之后每个类出现一个.class文件(按类名)。


微信公众号:JavaWeb架构师

解释并执行的时候要区分.class文件

Macs-MacBook-Pro:Desktop mac$ java Test
Hello World
Macs-MacBook-Pro:Desktop mac$ java Person
错误: 在类 Person 中找不到 main 方法, 请将 main 方法定义为:
   public static void main(String[] args)
否则 JavaFX 应用程序类必须扩展javafx.application.Application
Macs-MacBook-Pro:Desktop mac$ 

源文件出现public类的时候,源文件的名字必须和这个类的名一致

#我们先把Test.java 改成 Test2.java,然后编译

Macs-MacBook-Pro:Desktop mac$ javac Test2.java 
Test2.java:1: 错误: 类Test是公共的, 应在名为 Test.java 的文件中声明
public class Test {
       ^
1 个错误
Macs-MacBook-Pro:Desktop mac$ 

一个源文件中最多一个用public修饰的类:public Test,或者没有(原因由上一条可以解释)。

说明

主方法:
一个java程序必须有且只能有一个main方法,这是Java程序的入口
public static void main(String[] args) {}


主类:
主类--->带有main方法的类
当主类是public的时候,主类名必须和源文件名(TEST.java)一致。不是public的话,可以不一致


其它


关注下方公众号,回复:java_course.code
完整教程PDF版本下载
上一篇 下一篇

猜你喜欢

热点阅读