Java类
Java类是Java应用程序,工具包,框架,API等的一些核心构建块。小型Java应用程序可能包含一个Java类,其中包含一个main()方法,如Java主要方法教程所述。随着Java应用程序的增长,将所有代码都放在同一个类中会使保持代码概述的难度越来越大。因此,开始将Java代码拆分为多个类可能是有益的。
Java类是属于同一代码的单个,一致的Java单元。 Java类可能包含数据(变量)和操作(方法)的混合。将变量和对这些变量的操作分组到Java类中,可以在Java程序太大而无法舒适地放入单个Java类中时简化结构。 Java类必须存储在其自己的文件中。因此,随着班级的增长,我们正在编辑的文件也随之增长,并且变得难以掌握。
Java应用程序通常必须至少包含一个Java类,但是它可能包含我们认为合适的将应用程序划分为多个类。 Java还为我们提供了许多预定义的类,因此我们不必编写可能需要的每个小函数。
Java类构建块
Java类可以包含以下构造块:
- 字段
- 构造函数
- 方法
- 嵌套类
字段是类的局部变量(数据)或者该类的实例(对象)。稍后我将返回实例。我的Java字段教程中更详细地介绍了字段。
构造函数是初始化类实例的方法。构造函数通常在给定实例中设置字段的值。我的Java构造函数教程中更详细地介绍了构造函数。
方法是类或者该类的实例可以执行的操作。例如,一种方法可以对输入参数执行操作,或者更改对象中内部保留的字段的值等。方法在我的Java方法教程中有更详细的介绍。
嵌套类是在另一个类中定义的Java类。嵌套类通常旨在仅在内部用作包含它们的Java类,或者与包含它们的类结合使用。嵌套类在我的Java嵌套类教程中有更详细的介绍。
并非所有的Java类都具有字段,构造函数和方法。有时类仅包含字段(数据),有时类仅包含方法(操作)。这取决于Java类应该做什么。
用Java定义一个类
在Java中定义类所需的全部是这样的:
public class MyClass { }
这定义了一个名为" MyClass"的公共Java类。该类没有字段,构造函数或者方法。
.java文件
上面的类定义应该放在自己的名为MyClass.java的文件中。 Java文件的名称应与它们包含的类的名称相同,并以.java
作为文件扩展名。确保文件名中的类名也保持相同的大写和小写字符。
除非类包含某种内部类,否则仅在每个Java文件中放置一个类定义。内部类在我的Java嵌套类教程中介绍。
带字段的类
如前所述,Java类可以包含变量形式的数据。属于该类的变量通常称为"字段"。
下一个示例显示了用于对汽车进行建模的Java类。因此,该类将其命名为" Car",并具有三个字段。这是代码中的Java类:
public class Car { public String brand = null; public String model = null; public String color = null; }
这段代码定义了一个名为Car的Java类。汽车课有三个领域。 Car类没有方法。仅字段声明。在Java字段的文本中对字段进行了更详细的描述。
构造函数类
Java类可以具有构造函数。构造函数是一种特殊的方法,当创建给定类的对象时会调用该方法(稍后说明)。构造函数的目的是初始化类中的字段。这些字段也称为"内部状态"。这是带有两个构造函数的Java类的示例:
public class Car { public String brand = null; public String model = null; public String color = null; public Car() { } public Car(String theBrand, String theModel, String theColor) { this.brand = theBrand; this.model = theModel; this.color = theColor; } }
构造函数是两个与类具有相同名称且未指定返回类型的方法。第一个构造函数不带参数,第二个构造函数带3个参数。带有3个参数的构造函数将这些参数的值存储在创建的对象的字段中。我的Java构造函数教程中更详细地介绍了构造函数。
方法类
Java类也可以包含操作。这些操作通常称为方法。 Java方法包含Java指令,这些Java指令通常对类中的字段或者调用该方法时传递给该方法的参数(也是变量)值之一进行某些操作。
这是上一节中的Java类Car的示例,其中添加了方法:
public class Car { public String brand = null; public String model = null; public String color = null; public void setColor(String newColor) { this.color = newColor; } }
在上面的类定义中,我添加了一个setColor()
方法。调用时,此方法将内部颜色变量(字段)设置为新值。方法在有关方法的文本中有更详细的描述。
带嵌套类的类
如前所述,我们可以在另一个Java类中定义一个嵌套类。这是在Java类中定义嵌套类的示例:
public class MyClass { public static class MyNestedClass{ } }
在上面的示例中,外部类称为" MyClass",而嵌套类称为" MyNestedClass"。此示例中的两个类都没有任何字段或者方法,但是外部类和嵌套类都可以具有我们认为合适的多个字段和方法。我们可以在我的Java嵌套类教程中阅读有关嵌套类的更多信息。
类和对象
Java类是该类对象外观的模板。换句话说,上一节中的"汽车"类是"汽车"对象外观的模板。
要创建某个类的对象,可以使用" new"关键字。这是一个例子:
Car car1 = new Car(); Car car2 = new Car(); Car car3 = new Car(); car1.setColor("red"); car2.setColor("green"); car3.setColor("blue");
本示例创建3个Car变量,并为每个变量分配一个Car类的新实例。现在,每个变量都引用一个"汽车"对象。每个变量引用一个不同的" Car"对象。这样的对象也称为实例。如果更改一个对象的字段,则其他对象的字段不会更改。因此,不同对象(甚至是同一类)的字段可以彼此独立地变化。
创建3个"汽车"对象后,将在每个对象上调用setColor()方法。现在,为每个"汽车"对象分别设置颜色(表示为文本)。
创建某个类的对象也称为"实例化"对象。因此,该对象也称为给定类的"实例"。例如,上面的每个"汽车"对象也称为"汽车"类的实例,或者简称为"汽车实例"。