Java中static关键字的作用

文章目录

  • 一、使用static关键字修饰成员变量:
  • 二、使用static关键字修饰成员方法:
  • 三、使用static关键字定义静态代码块:
  • 四、使用static关键字定义内部类:
  • 五、使用静态导包:
  • 六、总结:static关键字在Java中有多种用途:

Java中static关键字的作用_第1张图片

以下是分别使用 static 关键字修饰成员变量、成员方法、静态代码块、内部类和静态导包的示例代码:

一、使用static关键字修饰成员变量:

public class MyClass {
   static int count;

   public static void main(String[] args) {
       MyClass.count = 5;
       System.out.println("Count: " + MyClass.count);
   }
}

分析总结:在这个示例中,count是一个静态成员变量,它被所有对象所共享。我们可以直接通过类名来访问和修改它。在main方法中,我们通过MyClass.count来设置count的值,并通过MyClass.count来打印count的值。

二、使用static关键字修饰成员方法:

public class MyClass {
    static void printCount() {
        System.out.println("Count: " + count);
    }

    public static void main(String[] args) {
        MyClass.printCount();
    }
}

分析总结:在这个示例中,printCount是一个静态成员方法,它可以直接通过类名来调用,无需创建对象。在main方法中,我们通过MyClass.printCount来调用printCount方法,它会打印count的值。

三、使用static关键字定义静态代码块:

public class MyClass {
    static {
        System.out.println("Static block");
    }

    public static void main(String[] args) {
        System.out.println("Main method");
    }
}

分析总结:在这个示例中,我们使用静态代码块来输出"Static block"。静态代码块在类加载时执行,且只会执行一次。在main方法中,我们输出"Main method"。

四、使用static关键字定义内部类:

public class OuterClass {
    static int x = 5;

    static class InnerClass {
        void printX() {
            System.out.println("X: " + x);
        }
    }

    public static void main(String[] args) {
        OuterClass.InnerClass inner = new OuterClass.InnerClass();
        inner.printX();
    }
}

分析总结:在这个示例中,我们定义了一个静态内部类InnerClass。静态内部类可以直接通过外部类名来访问,无需创建外部类的对象。在main方法中,我们创建了InnerClass的对象inner,并通过inner.printX来调用InnerClass的printX方法,它会打印x的值。

五、使用静态导包:

import static java.lang.Math.PI;
import static java.lang.Math.sqrt;

public class MyClass {
    public static void main(String[] args) {
        double radius = 2.0;
        double area = PI * sqrt(radius);
        System.out.println("Area: " + area);
    }
}

分析总结:在这个示例中,我们使用静态导包来导入Math类中的PI和sqrt方法。这样我们就可以直接使用PI和sqrt方法,无需使用Math.PI和Math.sqrt。在main方法中,我们计算了一个圆的面积并打印出来。

六、总结:static关键字在Java中有多种用途:

  • 它可以用于修饰成员变量和方法,表示它们属于类级别而不是实例级别。
  • 静态代码块在类加载时执行,用于进行静态成员的初始化操作。
  • 静态内部类可以直接通过外部类名来访问,无需创建外部类的对象。
  • 静态导包可以直接导入类中的静态成员,使得我们可以直接使用这些成员而无需使用类名来访问。
  • 使用static关键字可以实现共享数据、节省内存、方便访问以及定义全局变量和常量的功能。

你可能感兴趣的:(《Java基础》专栏,java)