全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

为什么在Java中是静态的?这个关键字是什么意思

发布时间:2022-09-15 15:51:10
发布人:syq

  您可以在 Java 程序的不同部分(如变量、方法和静态块)中使用关键字。static

  在 Java 中使用关键字的主要目的是节省内存。当我们在将由其他类访问的类中创建变量时,我们必须首先创建该类的实例,然后为每个变量实例分配一个新值 - 即使新变量的值在所有新类/对象中应该是相同的。static

6

  但是,当我们创建静态变量时,它的值在所有其他类中保持不变,并且我们不必创建实例来使用该变量。这样,我们创建变量一次,因此内存只分配一次。

  通过以下各节中的示例,您将更好地理解这一点。

  为了理解关键字是什么以及它实际做了什么,我们将看到一些示例,这些示例显示了它在Java中声明静态变量,方法和块的用途。static

  如何在 Java 中创建静态变量

  为了理解关键字在创建变量中的用法,让我们看一下创建在类的每个实例之间共享的变量的常用方法。static

  我将逐步解释上述代码中发生的事情。

  我们创建了一个使用三个变量 – 、 和 调用的类。Student student Name course school

  然后,我们创建了该类的两个实例:Student

  Student Student1 = new Student();

  Student Student2 = new Student();

  第一个实例 – - 有权访问在其类中创建的变量具有以下值:Student1

  Student1.studentName = "Ihechikara";

  Student1.course = "Data Visualization";

  Student1.school = "freeCodeCamp";

  第二个实例具有以下值:

  Student2.studentName = "John";

  Student2.course = "Data Analysis with Python";

  Student2.school = "freeCodeCamp";

  如果你仔细观察,你会发现两个学生都有相同的学校名称 - “自由代码营地”。如果我们必须为同一所学校培养100名学生呢?这意味着我们将初始化具有相同值的变量 100 次 - 每次都分配新内存。

  虽然这似乎不是问题,但在更大的代码库中,它可能会成为一个缺陷,并不必要地减慢程序的速度。

  为了解决此问题,我们将使用关键字来创建变量。之后,该类的所有实例都可以使用该变量。staticschool

  操作方法如下:

  在上面的代码中,我们创建了一个名为 的静态变量。您会注意到,关键字位于数据类型和变量名称之前:。schoolstaticstatic String school = "freeCodeCamp";

  现在,当我们创建类的新实例时,我们不必为每个实例初始化变量。在我们的代码中,我们只在第一个实例中为变量赋值,并且它也被第二个实例继承。school

  请注意,更改代码中任何位置的静态变量的值都会覆盖代码中先前声明的值的其他部分中的值。

  因此,您应该只对应该在程序中保持不变的变量使用关键字。static

  您还可以在创建变量时为其赋值,以便在创建类实例时不必再次声明它:。static String school = "freeCodeCamp";

  如果您使用上述方法,您将获得此内容:

  在最后一节中,您将看到如何使用静态块初始化静态变量。

  如何在 Java 中创建静态方法

  在我们看一个例子之前,这里有一些关于Java中静态方法的知识:

  静态方法只能访问和修改静态变量。

  可以在不创建类实例的情况下调用/使用静态方法。

  下面是一个示例,可帮助您了解:

7

  在上面的代码中,我们在一个名为 的类中创建了一个整数 ()。evenNumberEvenNumber

  我们的静态方法名为 。此方法增加整数的值并打印其值。incrementBy2() evenNumber

  无需创建类实例,我们就能够在程序的方法中调用该方法。每次调用该方法时,的值都会递增 2 并打印出来。incrementBy2() main evenNumber

  还可以在调用方法时使用点表示法将类的名称附加到方法:。每个静态方法都属于类,而不是类的实例。EvenNumber.incrementBy2();

  如何在 Java 中创建静态块

  Java 中的静态块类似于构造函数。我们可以使用它们来初始化静态变量,并且它们由编译器在方法之前执行。main

8

  在上面的代码中,我们创建了一个静态整数变量 。然后,我们在一个静态块中初始化它:year

9

  正如您在上面看到的那样,您可以使用关键字后跟大括号来创建一个静态块。在代码的静态块中,我们用值 2022 初始化了变量。我们还打印出了一些文本 - “这个代码块首先被执行”。static year

  在该方法中,我们打印了“你好世界”和静态变量。main year

  在控制台中,代码将按以下顺序执行:

10

  这演示了如何在方法之前首先执行静态块中的代码。main

  在本文中,我们讨论了Java中的关键字。它是一个主要帮助我们优化Java程序中内存的关键字。static

  我们通过示例了解了如何创建静态变量和方法。最后,我们讨论了可用于初始化静态变量的静态块。静态块在主方法之前执行。

相关文章

抖店平台商户被退店还能退货吗?如何提高评分?

2023-09-19

抖店入驻收费多少?开抖店费用是多少?

2023-09-19

想做直播带货的货源哪里来?怎么找货源?

2023-09-19

抖店没有营业执照怎么办?类型有哪些?

2023-09-19

女孩子拍什么最容易火?拍视频怎么赚钱的?

2023-09-19

怎样投抖加不花钱,有哪些技巧?

2023-09-19
在线咨询 免费试学 教程领取