详解JAVA中static的作用

当使用Java编写代码时,经常可以看到使用 static 关键字定义的变量、方法或类。那么,static 的作用到底是什么呢?本攻略将详细讲解 Java 中 static 的作用。

一、什么是 static

Java 中,static 是一个修饰符,当 static 用来修饰类的方法、变量或代码块时,它就与类本身关联,而非与类的实例对象关联,使得这些变量和方法可以在类被实例化前使用。

二、static 变量的作用

Java 中使用 static 关键字修饰的变量称为静态变量,也叫类变量,它与类无关,与实例对象无关。换句话说,静态变量是所有实例共享的,只会保存一份,不管被实例化多少次,都只有一份。

示例 1:计数器

public class Counter {
    public static int count = 0;

    public Counter() {
        count++;
    }
}

public class Test {
    public static void main(String[] args) {
        Counter c1 = new Counter();
        Counter c2 = new Counter();
        Counter c3 = new Counter();
        System.out.println("Count is " + Counter.count); // Output: 3
    }
}

在上面的代码中,Counter 类中的 count 变量被定义为静态变量,所有 Counter 类的对象将共享这个变量。Counter() 构造方法会在每次创建 Counter 类对象时自动调用,并且为 count 变量增加 1。当创建三个对象时,count 的值将会是 3。

示例 2:常量

静态变量也可以作为一种常量使用,声明为 final 标志符的静态变量,一旦赋初始值后,就无法再修改。

public class MathUtil {
    public static final double PI = 3.141592653589793;
}

public class Test {
    public static void main(String[] args) {
        System.out.println(MathUtil.PI); // Output: 3.141592653589793
    }
}

在上面的代码中,PI 被定义为一个静态常量,同时标识了 final 关键字。由于这是一个常量,所以它的值不能被改变,且一般会使用大写字母命名常量名称。

三、static 方法的作用

Java 中使用 static 关键字修饰的方法称为静态方法,它与类相关,而不是与实际对象相关。

与静态变量类似,静态方法也可以在被任何实例化对象之前调用。它们属于整个类而不是某个实例,因此无法引用实例变量或者实例方法。

示例 3:计算一个数的平方

public class MathUtil {
    public static int square(int num) {
        return num * num;
    }
}

public class Test {
    public static void main(String[] args) {
        int num = 5;
        int result = MathUtil.square(num);
        System.out.println(result); // Output: 25
    }
}

在上面的代码中,MathUtil 类中的 square() 方法定义为静态方法,它接收一个整数参数 num,并返回一个整数 num * num,即传入数值的平方。在 main 方法中,我们没有创建 MathUtil 类的对象,而是直接通过类名调用静态方法。

四、static 代码块的作用

Java 中使用 static 关键字修饰的代码块称为静态代码块。它只有在类加载时执行一次,所有的实例共用同一份代码块,一般用于初始化静态变量或执行初始化操作。

示例 4:输出类的信息

public class MyClass {
    static {
        System.out.println("Class loaded.");
    }
}

public class Test {
    public static void main(String[] args) {
        MyClass myClass = new MyClass();
    }
}

在上面的代码中,MyClass 类中的 static 代码块在类加载时执行一次,并输出 "Class loaded.",无论有没有被实例化,这行代码只会执行一次。

五、小结

在 Java 中,static 关键字被应用于类的变量、方法和代码块,它使这些元素与实例无关,与类相关。使用静态变量和静态方法,可以避免在程序运行时创建不必要的实例。使用静态代码块,可以在类被加载时执行代码。了解这些,可以使程序更有效率和正确。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解JAVA中static的作用 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • Android四大组件之Activity详细介绍

    当涉及到Android开发中的四大组件之一的Activity时,它是用户界面的核心部分。下面是对Activity的详细介绍: Activity是什么? Activity是Android应用程序中的一个组件,它代表了一个用户界面的单个屏幕。每个Activity都有一个与之关联的布局文件,用于定义界面的外观和交互。Activity可以包含用户交互元素,如按钮、文…

    other 2023年10月16日
    00
  • vue-cli3项目升级到vue-cli4 的方法总结

    请听我详细讲解如何将已有的 vue-cli3 项目升级到 vue-cli4。 1. 概述 vue-cli3 和 vue-cli4 的差异在于,vue-cli4 对于项目结构的更改和插件的升级,更好地支持了现代化的前端技术(Babel7,Webpack4,TypeScript 等),提供了更好的性能和稳定性。因此,升级到 vue-cli4 是必要的,尤其是如果…

    other 2023年6月27日
    00
  • Python3.5面向对象与继承图文实例详解

    首先讲一下Markdown格式的文本应该具备的基础内容。 标题 Markdown的标题可以通过在文本前面添加 # 号来实现,# 号的数量表示标题的级别,一级标题一个 # 号,二级标题两个 # 号,以此类推,最多支持六级标题。 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 引用 Markdown的引用可以通过在文本前添加 > 号来实现。 这…

    other 2023年6月26日
    00
  • win7系统中怎么设置打印机的IP地址和端口?

    在Win7系统中设置打印机的IP地址和端口需要按照以下步骤进行操作: 首先,确保你已经连接到了与打印机相同的网络。确保打印机已经正确连接到电源并且处于开启状态。 打开控制面板。你可以通过点击开始菜单,然后选择控制面板来打开它。 在控制面板中,找到并点击“设备和打印机”选项。 在设备和打印机窗口中,你会看到已经安装的打印机列表。找到你想要设置IP地址和端口的打…

    other 2023年7月30日
    00
  • ubuntu16.04里面安装electron-ssr 用来和浏览器交互

    以下是在Ubuntu 16.04上安装Electron-SSR并与浏览器交互的完整攻略,包括基本知识和两个示例。 基本知识 Electron-SSR是一个基于Electron的跨平台代理客户端,它可以帮助用户在浏览器中访问被封锁的网站。在Ubuntu 16.04上安装Electron-SSR并与浏览器交互,需要以下步骤: 安装Electron-SSR 启动E…

    other 2023年5月7日
    00
  • 电脑主机启动不了怎么办 按了开机按钮无反应解决方法

    电脑主机启动不了怎么办-按了开机按钮无反应 当我们按下电脑开机按钮后,主机没有反应,没有任何动静,这时候该怎么办呢? 检查电源线 首先我们需要检查的是电源线是否正常连接到了主机,有时候电源线可能会松动,导致电源无法正常供电。此时需要将电源线重新插拔一遍,确保连接良好。 检查电源开关 如果电源线连接正常,还是无法启动,可能是电源开关出现问题。我们可以先尝试使用…

    other 2023年6月27日
    00
  • C语言中static的使用介绍

    下面是关于C语言中static使用介绍的详细讲解攻略。 什么是static变量? 在C语言中,我们使用static关键字来定义静态变量。通常情况下,我们都是在函数内部定义变量,而且默认情况下这些变量都是自动变量,意味着这些变量的作用域仅限于定义它们的函数范围内。静态变量就是与这些自动变量不同的。 静态变量与自动变量的区别 区别主要有两点: 静态变量存储在静态…

    other 2023年6月27日
    00
  • 电脑蓝屏怎么解决?电脑蓝屏修复方法

    电脑蓝屏问题解决攻略 电脑蓝屏是指电脑突然停止工作并显示蓝色屏幕,通常是由于系统或硬件问题所导致。本文将介绍电脑蓝屏的修复方法和解决攻略。 一、重启计算机 电脑蓝屏后,首先要尝试的是重启计算机,因为很多时候蓝屏只是暂时的问题,重启可以恢复系统。 二、检查硬件设备 如果重启无效,那么就需要检查机器的硬件设备是否工作正常。首先可以检查一下硬盘是否有故障,具体方法…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部