java静态代码块与非静态代码块.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java 静态代码块与非静态代码块 Java 中的静态代码块和非静态代码块是两个重要的概念,它们在 Java 中的应用非常广泛。下面我们来详细介绍这两个概念。 静态代码块 静态代码块是 Java 中的一种特殊的代码块,它是静态的,意思是说它是属于类的,而不是属于对象的。静态代码块是在类加载时自动执行的,它们是 JVM 在加载类时执行的代码。静态代码块通常用于初始化一些项目最常用的变量或对象。 在上面的代码中,我们可以看到有两个静态代码块: ```java static { a = 10; System.out.println("父类的非静态代码块在执行a=" + a); } static { a = 8; System.out.println("父类的非静态代码块在执行a=" + a); } ``` 这两个静态代码块是在类加载时自动执行的,它们的执行顺序是按照它们在类中的声明顺序来的。 非静态代码块 非静态代码块是 Java 中的一种特殊的代码块,它是非静态的,意思是说它是属于对象的,而不是属于类的。非静态代码块是在创建对象时自动执行的,它们是构造方法的一部分。 在上面的代码中,我们可以看到有一个非静态代码块: ```java public TestStaticCon() { this("a在父类带参构造方法中的值:" + TestStaticCon.a); System.out.println(a); System.out.println("父类无参构造方法在执行a=" + a); } ``` 这个非静态代码块是在创建对象时自动执行的,它的执行顺序是在构造方法中的某个点。 静态代码块与非静态代码块的区别 静态代码块和非静态代码块的主要区别是它们的执行时机。静态代码块是在类加载时自动执行的,而非静态代码块是在创建对象时自动执行的。此外,静态代码块是属于类的,而非静态代码块是属于对象的。 静态方法 静态方法是 Java 中的一种特殊的方法,它是静态的,意思是说它是属于类的,而不是属于对象的。静态方法可以在不创建对象的情况下被调用,它们通常用于提供一些公共的功能。 静态方法和静态代码块的区别是,静态方法需要被调用时才执行,而静态代码块是自动执行的。静态方法可以用来提供一些公共的功能,而静态代码块通常用于初始化一些项目最常用的变量或对象。 结论 在 Java 中,静态代码块和非静态代码块是两个重要的概念,它们的执行时机和应用场景是不同的。静态代码块是在类加载时自动执行的,通常用于初始化一些项目最常用的变量或对象,而非静态代码块是在创建对象时自动执行的,通常用于初始化对象的状态。同时,静态方法和静态代码块也有一些区别,静态方法需要被调用时才执行,而静态代码块是自动执行的。
- 粉丝: 9
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助