首页 > 其他分享 >static关键字

static关键字

时间:2024-08-08 20:40:13浏览次数:11  
标签:静态方法 静态 关键字 static MyClass public

static关键字

static关键字在Java中用于表示某个成员(方法、变量、常量或代码块)属于类本身,而不是类的某个特定实例。以下是static关键字的一些主要用法和特性:

  1. 静态变量:使用static声明的变量是静态变量,也称为类变量。它们在类加载时创建,并在程序运行期间一直存在,直到程序结束。

    public class MyClass {
        public static int count = 0;
    }
    
  2. 静态方法:使用static声明的方法是静态方法,可以在不创建类实例的情况下调用。

    public class MyClass {
        public static void printMessage() {
            System.out.println("Hello, World!");
        }
    }
    
  3. 静态常量:通常使用static final修饰的变量作为类的常量。

    public class MyClass {
        public static final int MAX_COUNT = 100;
    }
    
  4. 静态初始化块:使用static关键字标记的代码块,用于初始化静态变量。

    public class MyClass {
        static {
            // 初始化代码
        }
    }
    
  5. 静态类:虽然Java不支持将整个类声明为static,但可以创建静态内部类,它们是与外部类不相关的类。

    public class OuterClass {
        public static class InnerClass {
            // ...
        }
    }
    
  6. 静态导包:可以使用import static语句来导入静态成员,使得可以直接使用而不需要类名作为前缀。

    import static java.lang.Math.PI;
    
  7. 静态方法的限制:静态方法不能直接访问类的非静态成员,因为它们不与类的任何特定实例关联。

  8. 单例模式static关键字经常用于实现单例模式,确保一个类只有一个实例。

  9. 工具类:许多工具类的方法都是静态的,因为这些方法通常不需要访问类的实例状态。

  10. 静态绑定:与实例方法不同,静态方法是在编译时绑定的,这称为静态绑定或早绑定。

以下是使用static关键字的示例:

public class MyClass {
    // 静态变量
    private static int staticVar = 10;

    // 静态方法
    public static void staticMethod() {
        System.out.println(staticVar);
    }

    // 静态常量
    public static final int CONSTANT = 20;

    // 静态初始化块
    static {
        // 初始化静态变量
        staticVar = 20;
    }

    // 非静态变量和方法
    private int instanceVar;
    public void instanceMethod() {
        System.out.println(instanceVar);
    }

    // 主方法,程序入口
    public static void main(String[] args) {
        // 直接调用静态方法和访问静态变量
        staticMethod();
        System.out.println(MyClass.staticVar);

        // 直接访问静态常量
        System.out.println(MyClass.CONSTANT);
    }
}

在这个示例中,MyClass展示了static关键字的多种用法,包括静态变量、静态方法、静态常量和静态初始化块。通过使用static关键字,可以创建属于类而不是类的实例的成员,这有助于实现类级别的数据和行为。

标签:静态方法,静态,关键字,static,MyClass,public
From: https://www.cnblogs.com/jmy3/p/18349695

相关文章

  • this关键字
    this关键字this关键字是一个非常重要的概念,它指的是当前对象的引用。使用this关键字可以访问当前对象的属性和方法。引用当前对象的属性:当类的实例变量和局部变量或参数同名时,可以使用this关键字来区分它们。publicclassExample{privateintvalue;publicExam......
  • super关键字
    super关键字super关键字是一个引用,它指向当前对象的直接父类。使用super关键字可以访问父类中定义的成员,包括属性、方法和构造函数。访问父类的属性:如果子类重写了父类的方法,并且需要在子类方法中使用父类的方法实现,可以使用super来引用父类的方法。调用父类的方法:当子类......
  • final关键字
    final关键字final关键字是一个修饰符,它可以用来修饰类、方法和变量。final类:当一个类被声明为final时,它不能被其他类继承。这意味着这个类是封闭的,不能有任何子类。publicfinalclassUtilityClass{//类成员}final方法:将方法声明为final可以防止子类重写......
  • 项目中使用`import`关键字导入文件方式
    一.默认导出一个模块可能只有一个主要的导出内容时,你可以使用默认导出来简化导入过程。a文件导出constfun=()=>{} exportdefaultfun; b文件导入importfunfrom"@/xx/b.js";fun() //方法调用返回abc二.具名导出一个模块包含多个导出内容时,你可......
  • C#关键字汇总
    1.访问修饰符:public:访问不受限制。private:访问仅限于当前类。protected:访问限于当前类和派生类。internal:访问限于当前程序集。protectedinternal:访问限于当前程序集或派生类。2.类型声明:class:声明一个类。struct:声明一个值类型结构。interface:声明一个接口。enum:声明一个枚举。......
  • 很多朋友对 ABAP 关键字 FINAL 的用法,只掌握了一半
    本文阅读目录FINAL对ABAP类和方法意味着什么什么是变量的Up-front声明方式什么是变量的Inline声明方式ABAP757对变量内联声明方式的进一步增强笔者把之前的文章 SAP某ABAP系统标准类中仅有5.4%公有属性被READ-ONLY修饰,原因竟然是…… 分享到我的SAP技......
  • ORACLE 查询条件出现关键字:&
    SQLselect1fromdualWHERExxxIN('AAA&SSS')编译器提示原因和解决方法在OracleSQL查询中,‌如果查询条件包含特殊字符如&,‌通常需要进行转义处理,‌以确保查询语句能被正确解析&在Oracle中可能被视作替换变量的一部分,‌因此直接使用时可能导致查询出错为了正常查询......
  • 【多线程-从零开始-伍】volatile关键字和内存可见性问题
    volatile关键字importjava.util.Scanner;publicclassDemo2{privatestaticintn=0;publicstaticvoidmain(String[]args){Threadt1=newThread(()->{while(n==0){//啥都不写......
  • Jave-this关键字
    目录1.this关键字先看一段代码,并分析问题 什么是this案例演示 2.this的注意事项和使用细节1.this关键字先看一段代码,并分析问题 什么是this this就代表的是当前对象。this可以大概理解成“我的” ,比如我的书包,这里的“我的”就代表当前对象。this是一个......
  • 织梦dede怎么修改关键字长度?
    dede文件修改默认关键字长度第1步:找到并打开dede后台目录下的article_edit.php和article_add.php文件。电脑维修技术网注:如果是修改专题认关键字的话,需要修改spec_add.php和spec_edit.php文件。第2步:在文件中搜索"keywords",找到“$keywords=trim(cn_substrR($keywords,60));......