目录
创建静态方法
创建具有多个静态块的单个类
静态成员的用例
Java 中的静态嵌套类
结论 – Java 中的静态关键字
首页 Java java教程 Java中的静态关键字

Java中的静态关键字

Aug 30, 2024 pm 03:21 PM
java

Java 是一种流行的编程语言,用于生成软件程序和应用程序,开发于 20 世纪 90 年代中期。 Java 与所有现代操作系统兼容。它的流行是由于它提供了某些规定来确保应用程序范围的安全性和可重用性,例如静态成员。在Java中,static关键字主要用于确保高效的系统内存管理和公共属性的可重用性。我们可以将 static 关键字与变量、方法、嵌套类以及代码块一起使用。 Static 在 Java 中用作非访问修饰符。 Static 关键字指示特定成员属于类型本身,而不是该特定类型的各个实例。这意味着只能创建该静态成员的单个实例并在该类的所有实例之间共享。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

创建静态方法

要声明静态成员,无论是块、变量、方法还是嵌套类,我们都需要在成员前面加上关键字 static。当我们将成员声明为静态时,我们可以在创建其任何类对象之前访问它,因为它独立于其类对象。

在下面的示例中,我们将创建一个静态方法,并看看如何在不引用其类的情况下调用它:

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

class Main // declaring a class name called staticTest

{

// Declaring a static method below

public static void myStaticmethod()

{

System.out.println("Hello, I was called from static method.");

}

public static void main(String[] args )

{

// Calling the static method without any object reference

myStaticmethod();

}

}

登录后复制

输出:

Java中的静态关键字

创建具有多个静态块的单个类

有时我们需要执行某些计算来初始化静态变量。在这种情况下,我们可以声明一个静态块,该静态块仅在类首次执行时加载一次。

示例:

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

class Main

{

// Declaring a static variable below

static int a = 10;

static int b;

// Declaring a static block below

static

{

System.out.println( " In static block now. " );

b = a*2;

}

public static void main( String[] args )

{

System.out.println(" Value of b : " + b);

}

}

登录后复制

输出:

Java中的静态关键字

现在转向静态变量,它们主要是全局变量,因为当变量被声明为静态时,只会创建该变量的单个副本并在类中的所有对象之间共享。我们需要考虑只能在类级别创建静态变量。如果一个程序同时有静态变量和静态块,那么静态变量和静态块将按照它们在程序中写入的顺序执行。

方法是Java;当前面带有 static 关键字声明时,称为静态方法。 Java中最常用的静态方法是main方法。 Java 中使用 static 关键字声明的方法也伴随着一些限制。

下面列出了其中一些:

  • 静态方法只允许调用其他静态方法。
  • 静态方法只能直接访问静态数据。
  • 静态方法在任何情况下都不能引用 this 或 super。

为什么 Java 中的 Main 方法是静态的?

  • Java 中的 main 方法是静态的,因为我们不需要对象能够调用 main 方法。
  • 如果它是一个非静态方法,那么我们首先需要 JVM(Java 虚拟机)来调用类对象,这不会是一个节省内存的过程,因为它需要额外的内存。

静态成员的用例

您可能在想什么情况和场景我们应该使用静态成员和变量?

我们可以对所有对象共有的任何属性使用静态变量。例如,如果我们有一个名为 Student 的类,那么所有学生对象将共享相同的大学名称属性,在这种情况下可以将其声明为静态变量。当静态变量的值独立于其类对象时,我们还可以使用静态变量。

示例:

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

class Student

{

int roll_no; // declaring an instance variable

String name;

static String college_name ="KC College"; // declaring a static variable for common property college name

//declaring the class constructor below

Student(int r, String n)

{

roll_no = r;

name = n;

}

// declaring a method to display the values

void display ()

{

System.out.println(roll_no+" "+name+" "+college_name);

}

}

//Declaring a test class to display the values of objects

public class Main{

public static void main(String args[]){

Student st1 = new Student(111,"Karan");

Student st2 = new Student(222,"Arjun");

//below we have changed the college name which was a common property of all objects with a single line of code

Student.college_name ="Jain Hind College";

st1.display();

st2.display();

}

}

登录后复制

输出:

Java中的静态关键字

Java 中的静态嵌套类

  • 在Java中,我们不能将顶级类声明为静态,但如果需要,我们可以将其嵌套类声明为静态。这样的类称为嵌套静态类。
  • Java中的静态方法是在运行时识别的,由于重写是运行时多态性的一部分,因此静态方法不能被重写。我们不能将抽象方法声明为静态。

结论 – Java 中的静态关键字

通过上面的示例和解释,我们可以得出结论,Java 提供了一些特性和属性,例如静态和抽象,这使得它的使用安全、安全和健壮。对于开发安全性是首要考虑因素的系统来说,这些导致 Java 仍然是一个非常流行的选择。

以上是Java中的静态关键字的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java 中的平方根 Java 中的平方根 Aug 30, 2024 pm 04:26 PM

Java 中的平方根指南。下面我们分别通过例子和代码实现来讨论平方根在Java中的工作原理。

Java 中的完美数 Java 中的完美数 Aug 30, 2024 pm 04:28 PM

Java 完美数指南。这里我们讨论定义,如何在 Java 中检查完美数?,示例和代码实现。

Java 中的随机数生成器 Java 中的随机数生成器 Aug 30, 2024 pm 04:27 PM

Java 随机数生成器指南。在这里,我们通过示例讨论 Java 中的函数,并通过示例讨论两个不同的生成器。

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java 版 Weka 指南。这里我们通过示例讨论简介、如何使用weka java、平台类型和优点。

Java 中的阿姆斯特朗数 Java 中的阿姆斯特朗数 Aug 30, 2024 pm 04:26 PM

Java 中的阿姆斯特朗数指南。这里我们讨论一下java中阿姆斯特朗数的介绍以及一些代码。

Java 中的史密斯数 Java 中的史密斯数 Aug 30, 2024 pm 04:28 PM

Java 史密斯数指南。这里我们讨论定义,如何在Java中检查史密斯号?带有代码实现的示例。

Java Spring 面试题 Java Spring 面试题 Aug 30, 2024 pm 04:29 PM

在本文中,我们保留了最常被问到的 Java Spring 面试问题及其详细答案。这样你就可以顺利通过面试。

突破或从Java 8流返回? 突破或从Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

See all articles