编程static是什么意思

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    编程中的static是一个关键字,它可以应用于变量、函数和类。

    1. 变量: 在函数内部使用static关键字声明的变量称为静态变量(static variable),这些变量在程序运行期间在内存中只有一份拷贝。静态变量的生命周期与程序的生命周期相同,它们在程序启动时初始化,并且只被销毁一次。

    静态变量的特点:(1)默认值为0(int)、0.0(float)、null(对象)等。 (2)作用域被限制在声明它的块内。 (3)静态变量在声明时如果没有指定初始值,则会被自动初始化。 (4)静态变量可以被所有该类的对象共享使用。

    1. 函数: 在函数声明时使用static关键字,可以将函数定义为静态函数(static function)。静态函数只能在定义它的源文件中调用,不能被其他文件调用。静态函数不能访问类的非静态成员,只能访问类的静态成员。

    静态函数的特点:(1)默认的存储类为static。(2)只在声明它的源文件中可见,不可被其他源文件调用。(3)静态函数没有this指针,因此不能访问类的非静态成员。

    1. 类: 在类中使用static关键字,可以创建静态成员(static member)。静态成员属于类本身,而不属于类的对象。静态成员可以通过类名直接访问,不需要创建类的对象。

    静态成员的特点:(1)被所有该类的对象共享。(2)可以在没有任何类对象的情况下访问。(3)静态成员在类被加载时初始化,且只初始化一次。(4)静态成员可以通过类名和对象名进行访问。

    总结:在编程中,static关键字被用于创建静态变量、静态函数和静态成员。静态成员在内存中只有一份拷贝,它们在程序运行期间始终存在,可以通过类名直接访问,而不需要创建类的对象。静态成员的特点使得它们在某些情况下非常有用,例如统计类的实例个数、实现全局变量或全局函数等。但是需要注意的是,滥用静态成员可能导致代码的可维护性降低,因此在使用时需要谨慎。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    编程中的static是一个关键字,它用于修饰类的成员变量和成员方法。它有以下几个意思:

    1. 静态变量:使用static修饰的成员变量称为静态变量,也叫类变量。静态变量属于整个类,而不是属于类的某个实例对象。所有实例对象共享同一个静态变量的值。静态变量在类加载时被初始化且只会有一份副本,不需要通过实例对象来访问,可以直接通过类名访问。

    2. 静态方法:使用static修饰的方法称为静态方法,也叫类方法。静态方法属于整个类,而不是属于类的某个实例对象。静态方法没有this指针,无法访问非静态的成员变量和成员方法。静态方法可以通过类名直接调用。

    3. 静态代码块:使用static修饰的代码块称为静态代码块。静态代码块在类加载时执行,且只执行一次。静态代码块用于初始化类的静态成员变量或执行一些静态操作。

    4. 静态导入:通过使用import static语法,可以导入类的静态成员,使得可以直接使用类名访问静态成员,而无需通过类名前缀。

    5. 静态内部类:使用static修饰的内部类称为静态内部类。静态内部类只能访问外部类的静态成员,不能访问非静态的成员。静态内部类可以直接通过类名访问。

    总结来说,static在编程中表示静态的意思,它修饰的成员属于整个类,可以通过类名直接访问而无需实例化对象。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在编程中,static是一个关键字,被用于声明一些特定的实体,如变量、方法和类。static可以用于不同的上下文中,具有不同的含义。

    1. 静态变量(static variable)
      静态变量是一种在类级别上共享的变量,而不是在每个实例中独立存在的变量。静态变量在类加载时被初始化,并在整个程序运行期间保持不变。它可以被所有实例访问,也可以通过类名直接访问。静态变量使用类名.变量名的语法进行访问。

      public class MyClass {
          static int count; // 静态变量
      }
      
      // 使用静态变量
      MyClass.count = 5;
      int currentCount = MyClass.count;
      
    2. 静态方法(static method)
      静态方法是一种不依赖于实例的方法,可以直接通过类名调用。静态方法不能访问非静态成员,因为它们没有实例的上下文。静态方法通常用于实现一些与类本身相关的功能,比如工具方法。

      public class MathUtils {
          public static int max(int a, int b) {
              return a > b ? a : b;
          }
      }
      
      // 调用静态方法
      int maxNumber = MathUtils.max(2, 5);
      
    3. 静态代码块(static block)
      静态代码块用于在类加载时执行一些初始化操作。它们在类初始化阶段被执行,并且只会执行一次。静态代码块只能访问静态成员,因为它们在实例创建之前就被执行。

      public class MyClass {
          static {
              System.out.println("静态代码块");
          }
      }
      
      // 输出:静态代码块
      MyClass obj = new MyClass();
      
    4. 静态内部类(static inner class)
      静态内部类与普通内部类不同,它可以在没有外部类实例的情况下被单独实例化。静态内部类在声明时使用static修饰符。

      public class OuterClass {
          static class InnerClass {
              public void display() {
                  System.out.println("静态内部类");
              }
          }
      }
      
      // 实例化静态内部类
      OuterClass.InnerClass obj = new OuterClass.InnerClass();
      obj.display();
      

    总结:
    static关键字用于声明静态变量、静态方法、静态代码块和静态内部类。它们在类加载时被初始化,并且具有类级别的共享特性。静态实体通过类名进行访问,而不是实例对象。静态成员不依赖于实例的创建,可以在不创建实例的情况下直接使用。静态成员在内存中只有一份拷贝,并且可以被所有实例共享。静态变量和静态方法对于实现一些与类本身相关的功能非常有用,而静态内部类则可以在没有外部类实例的情况下被单独实例化。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部