class StaticCode{ int age; // static 代码块 static{ System.out.print("static "); } //构造代码块 { System.out.print("55 "); } // 构造函数 StaticCode(int age){ this.age=age; System.out.print(age+","); } void show(){ // 局部代码块 { int age=30; } System.out.print("show:"+age+","); } } static class StaticCodeDemo{ public static void main(String[] args){ StaticCode p1=new StaticCode(20); p1.show(); StaticCode p2=new StaticCode(20); } } // 执行结果为:static 55 20,show:20,55 20,
// 分析:
// 1、先执行StaticCode这个类,所以static
// 2、创建p1对象,执行构造代码块,55
// 3、执行构造函数初始化,20
// 4、执行p1.show(),show:20
// 5、 创建p2对象,执行构造代码块,55
// 6、执行构造函数初始化,20
// 总结: static 代码块随着类的加载,只加载一次。作用是初始化类。
// 构造代码块,可以给所有对象进行初始化的。创建几个对象就调用几次,是给对象进行通用性的初始化。
// 构造函数是给对应的对象进行针对性的初始化。
// 局部代码块限定函数中变量的生命周期,age=30局部代码执行完。自动释放掉了。
转自:http://www.cnblogs.com/bigben223/p/7986179.html
相关推荐
Java编程语言中有三种类型的代码块,它们分别是普通代码块、构造代码块和静态代码块,每种都有其特定的用途和执行顺序。 1. **普通代码块**: 普通代码块(也称为局部代码块)是在方法或者类的成员变量声明之间...
Java构造代码块和静态代码块是Java中两种特殊的代码块,它们的运行机制和应用场景不同,下面将详细介绍Java构造代码块和静态代码块的原理、用法和注意事项。 一、局部代码块 局部代码块是指在某个特定的范围内定义...
在日常练习33中,我们关注的是三种不同类型的代码块:静态代码块、构造器代码块和局部代码块。下面将详细讲解这三种代码块的特点和用法。 1. 静态代码块: 静态代码块由`static`关键字标识,它是在类被加载到Java...
在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...
1. **局部代码块**:这些代码块定义在方法内部,仅在该方法调用时执行。它们通常用来限制变量的作用域,提高内存效率。 2. **构造器代码块**或**实例初始化块**:当创建类的新实例时,这些代码块会执行。它们可以...
Java代码块主要有三种类型:局部代码块、构造代码块和静态代码块。 (一)局部代码块 局部代码块是指在方法内部使用的代码块,以{ }括起来,用于限定变量的生命周期,尽早释放,节约内存。局部代码块的调用是以...
本讲义主要涵盖了Java中的几个核心概念,包括`static`、`final`、匿名对象、内部类、包、修饰符以及代码块。下面将逐一详细阐述这些知识点。 1. **`static`关键字**: `static`关键字在Java中用于声明类级别的变量...
3. **static代码块**:静态初始化块在类加载时执行,用于初始化静态变量。这在需要在类加载时进行复杂初始化的情况下非常有用。 在继承方面,`final`和`static`的关键区别在于: - `final`类不能被继承,所以它...
代码块是Java中的一段代码,根据其位置和用途分为局部代码块、构造代码块和静态代码块。局部代码块定义在方法内部,用于限制变量的作用域,通常用于提高代码的组织性和可读性。构造代码块位于类的成员变量区域,目的...
通过这个例子,我们可以理解`static`和构造代码块如何协同工作,以实现特定的逻辑,比如统计类的实例数量。这只是一个简单的应用,实际开发中`static`和代码块的使用场景更为广泛,包括但不限于初始化静态数据、控制...
局部内嵌类定义在方法、构造器或者块中,其作用域仅限于定义它的代码块。这种类型的内嵌类可以访问其所在代码块的所有局部变量,但只有当这些变量是final或effectively final时,才能在内嵌类中使用。局部内嵌类...
代码块分为局部代码块、构造代码块和静态代码块。局部代码块限定了变量的作用域,常用于控制变量生命周期。构造代码块则用于抽取构造方法中的重复代码,确保在创建对象时先于构造方法执行。静态代码块在类加载时执行...
- **作用域**:成员变量在整个类中有效,类变量在整个程序中有效,局部变量只在其定义的代码块中有效。 - **生命周期**:成员变量随着对象的创建而创建,随着对象的销毁而销毁;类变量随着类的加载而存在,随着类的...
在Java编程语言中,`static`, `this`, `super`, 和 `final` 是四个非常重要的关键字,它们分别代表不同的概念并具有特殊的用法。 一、`static` `static` 关键字用于声明类级别的成员(变量或方法),这意味着它们...
2. **局部内部类**:局部内部类只存在于某个方法、构造器或者代码块中,它的作用域仅限于该方法、构造器或代码块。下面是一个局部内部类的例子: ```java public class Test1 { public void display() { class ...
staticBlock.java 演示静态块的使用 staticVar.java 定义静态变量 supplyTest.java 对象作为静态成员使用示例 trySwap.java 试图交换两个形参的值 useOnlyTest.java 创建多个对象,演示this的作用 ...
- **局部变量**:仅限于方法、构造器或块内的变量,也可以是`final`的。 示例代码: ```java public class Test3 { private final String S = "final实例变量S"; private final int A = 100; public final int B...
静态代码块和非静态代码块是Java中两种特殊的代码块。静态代码块随着类的加载而执行,只执行一次;非静态代码块随着对象的创建而执行,每创建一个对象就执行一次。 内部类 内部类是Java中的一种特殊的类,它可以被...
- **实例化**:接着执行成员变量的初始化,然后是构造代码块和构造方法。 类的执行顺序总结如下: 1. 静态变量的初始化 2. 静态代码块的执行 3. 成员变量的初始化 4. 构造代码块的执行 5. 构造方法的执行 理解这...