Java类

时间:2020-01-09 10:35:41  来源:igfitidea点击:

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()方法。现在,为每个"汽车"对象分别设置颜色(表示为文本)。

创建某个类的对象也称为"实例化"对象。因此,该对象也称为给定类的"实例"。例如,上面的每个"汽车"对象也称为"汽车"类的实例,或者简称为"汽车实例"。