首页  >  文章  >  Java  >  Java中的静态关键字

Java中的静态关键字

王林
王林原创
2024-08-30 15:21:37612浏览

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

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

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

创建静态方法

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

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

代码:

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中的静态关键字

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

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

示例:

代码:

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 的类,那么所有学生对象将共享相同的大学名称属性,在这种情况下可以将其声明为静态变量。当静态变量的值独立于其类对象时,我们还可以使用静态变量。

示例:

代码:

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