Java语法
现在,我们应该对Java有了一个概述。因此,现在该更详细地研究Java语言语法了。本文不会涵盖Java语言语法的每一个小细节,但会介绍基础知识并为我们提供语法概述。以后的文章将详细介绍语法的各个方面。
Java文件
所有Java代码都必须位于扩展名为.java的文件内。例如," HelloWorld.java"或者" MyApp.java"等。Java应用程序可以包含许多此类" .java"文件。
Java语法
Java文件可以包含以下元素:
- 软件包申报
- 导入语句
- 类型声明字段
- 类初始化器
- 构造函数
- 方法
Java文件还可以包含注释和注释,但是我将在以后的文章中介绍这些注释和注释。
下面是一个示例.java文件,其中包含上述所有元素,因此我们可以看到.java文件的基本语法:
package javacore; // example import - HashMap is not used though. import java.util.HashMap; public class MyClass { protected final String name = "John"; { //class initializer } public MyClass() { } public String getName() { return this.name; } public static void main(String[] args) { } }
此示例包含Java语法中的几个元素。每个小节将在以下小节中介绍。
包声明
前面显示的代码示例中的第一行是程序包声明。这一部分,更具体地说:
package javacore;
软件包声明由单词" package",一个空格和随后的类型所要包含的软件包的名称组成。.java文件应位于与软件包名称匹配的目录结构中。包和包声明在Java包的文本中有更详细的介绍。
导入语句
上面的代码示例中的第二行是import语句。更具体地说,这部分是:
import java.util.HashMap;
此示例仅具有一个import语句,但是可以使用多个import语句,每个语句在其自己的行上。
导入语句告诉Java编译器此Java文件正在使用哪些其他Java文件。 Java文件仅需要导入与Java文件不在同一Java包中的Java文件。
请注意,该代码示例实际上并未在任何地方使用Java HashMap类。该示例仅导入它。这样做只是为了向我们展示import语句的外观。当然,我们不应该导入我们在实际项目中不使用的类。
类型声明
上面的代码示例中的第三行是类型声明。在Java中,类型可以是类,抽象类,接口,枚举或者注释。
在此示例中,声明的类型是一个类。类型声明由{
和}
分隔。如我们所见,开头的{{与类型声明在同一行上列出。最后的"}"位于示例的最后一行。
public class MyClass {
字段声明
上面示例中的第四行是字段声明。字段声明以分号";"结尾。 Java字段中的文本更详细地介绍了这些字段。一个类型(类/接口/枚举)可以具有多个字段。这个例子只有一个字段:
protected final String name = "John";
类初始化器
第五行(或者行块)是类初始化程序块。它以一个" {"开始,并以一个"}"结束。在此块内,我们可以放置要执行的初始化代码,该类的实例已创建。在此示例中,该块为空。块内的文本仅是注释。 Java编译器将忽略它。
{ //class initializer }
类初始化器也可以是静态的。然后,它们在类加载时已经执行,并且仅执行一次,因为该类仅在Java虚拟机中加载一次。这是一个静态初始化程序块的示例:
static { //static class initializer }
注意该块之前的关键字" static"。这使类初始化程序块成为静态的。
构造函数
第六块是构造函数。构造函数与类初始化程序类似,不同之处在于它们可以接受参数。有关Java构造函数的文字,将更详细地介绍构造函数。一个类可以具有多个构造函数,尽管此示例仅显示了一个构造函数。
public MyClass() { }
方法
第七元素(或者块)是一种方法。创建类(对象)的实例时,对象可以具有可以执行的方法。这些有时也称为"实例方法",因为它们在调用该方法之前需要对象的实例。有关方法的详细信息,请参见Java方法。这是上面示例中的方法声明:
public String getName() { return this.name; }
第八个块是静态方法。静态方法属于该类,而不属于该类的对象。这意味着我们可以在没有静态方法所属类的对象的情况下调用静态方法。
public static void main(String[] args) { }
类型声明结束
如前所述,示例的最后一行是类型声明的末尾。
}
这意味着将不再有Java语言代码成为声明类型的一部分。