java静态代码块和静态变量

Java静态代码块和静态变量是Java编程中的重要概念,它们在类加载时执行,且只会执行一次,本文将详细介绍Java静态代码块和静态变量的概念、特点、用法以及实例。

创新互联专注于企业网络营销推广、网站重做改版、宝兴网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为宝兴等各大城市提供网站开发制作服务。

静态变量

1、概念

静态变量(Static Variable)是一种特殊的成员变量,它属于类而不是类的实例,静态变量在类加载时分配内存空间,且只会分配一次,所有实例共享同一个静态变量的值。

2、特点

静态变量属于类,而不是类的实例。

静态变量在类加载时分配内存空间,且只会分配一次。

所有实例共享同一个静态变量的值。

静态变量可以通过类名直接访问,也可以通过实例访问。

3、用法

静态变量通常用于存储类的全局状态或常量。

public class MyClass {
    public static int num = 0; // 定义一个静态变量num
}

4、实例

public class MyClass {
    public static int num = 0; // 定义一个静态变量num
    public static void main(String[] args) {
        MyClass obj1 = new MyClass();
        MyClass obj2 = new MyClass();
        obj1.num = 10; // 修改静态变量的值
        System.out.println("obj1.num: " + obj1.num); // 输出:obj1.num: 10
        System.out.println("obj2.num: " + obj2.num); // 输出:obj2.num: 10
    }
}

静态代码块

1、概念

静态代码块(Static Block)是一种特殊的代码块,它在类加载时执行,且只会执行一次,静态代码块通常用于初始化静态变量或执行其他需要在类加载时完成的操作。

2、特点

静态代码块在类加载时执行,且只会执行一次。

静态代码块可以访问静态变量和其他静态代码块。

静态代码块不能访问非静态成员(如实例变量和普通方法)。

3、用法

静态代码块通常用于初始化静态变量或执行其他需要在类加载时完成的操作。

public class MyClass {
    public static int num = 0; // 定义一个静态变量num
    static { // 定义一个静态代码块
        num = 10; // 初始化静态变量的值
        System.out.println("静态代码块执行"); // 输出:静态代码块执行
    }
}

4、实例

public class MyClass {
    public static int num = 0; // 定义一个静态变量num
    static { // 定义一个静态代码块
        num = 10; // 初始化静态变量的值
        System.out.println("静态代码块执行"); // 输出:静态代码块执行
    }
    public static void main(String[] args) {
        System.out.println("main方法执行"); // 输出:main方法执行
        System.out.println("num: " + num); // 输出:num: 10
    }
}

静态代码块与静态变量的区别与联系

1、区别:

作用不同:静态变量用于存储类的全局状态或常量,而静态代码块用于初始化静态变量或执行其他需要在类加载时完成的操作。

执行时机不同:静态变量在类加载时分配内存空间,而静态代码块在类加载时执行,但只有当静态代码块被执行时,才会对静态变量进行初始化。

访问权限不同:静态变量可以通过类名直接访问,也可以通过实例访问;而静态代码块只能通过类名访问。

生命周期不同:静态变量的生命周期与类相同,只要类存在,静态变量就存在;而静态代码块只在类加载时执行一次,之后不再执行。

2、联系:

都是属于类的成员,而不是类的实例。

都可以在类加载时执行特定的操作。

当前名称:java静态代码块和静态变量
标题链接:http://www.csdahua.cn/qtweb/news20/218170.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网