• 初始化块


    一 初始化块介绍

    [修饰符]{

        //初始化块的可执行代码

        ......

    }

    修饰符只能是static,使用static修饰符的初始化块被称为静态初始化块。

    二 初始化块简单应用

    1 代码示例

    public class Person
    {
    	// 下面定义一个初始化块
    	{
    		int a = 6;
    		if (a > 4)
    		{
    			System.out.println("Person初始化块:局部变量a的值大于4");
    		}
    		System.out.println("Person的初始化块");
    	}
    	// 定义第二个初始化块
    	{
    		System.out.println("Person的第二个初始化块");
    	}
    	// 定义无参数的构造器
    	public Person()
    	{
    		System.out.println("Person类的无参数构造器");
    	}
    	public static void main(String[] args)
    	{
    		new Person();
    	}
    }

     2 运行结果

    Person初始化块:局部变量a的值大于4

    Person的初始化块

    Person的第二个初始化块

    Person类的无参数构造器

    3 结果分析

    从运行结果来看,当创建Java对象时,系统总是先调用该类里定义的初始化块,如果一个类里定义了2个普通初始化块,则前面定义的初始化块先执行,后面定义的初始化块后执行。

    三 初始化块与声明实例指定默认值语句执行顺序问题

    1代码示例

    InstanceInitTest.java  

    public class InstanceInitTest
    {
    	
    	// 先执行初始化块将a实例变量赋值为6
    	{
    		a = 6;
    	}
    	// 再执行将a实例变量赋值为9
    	int a = 9;
    	public static void main(String[] args)
    	{
    		// 下面代码将输出9。
    		System.out.println(new InstanceInitTest().a);
    	}
    }

    2运行结果

    9  

    3结果分析

    普通初始化块,声明实例变量指定默认值都认为是对象的初始化代码,它们的执行顺序与在源程序中排列顺序相同。

  • 相关阅读:
    python 线程
    python 进程
    python 异常处理
    python 访问权限
    python 类的继承
    python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem
    SAPHANA学习(21):SQL Function(U)
    SAPHANA学习(20):SQL Function(T)
    SAPHANA学习(19):SQL Function(S)
    SAPHANA学习(18):SQL Function(R)
  • 原文地址:https://www.cnblogs.com/ainima/p/6331651.html
Copyright © 2020-2023  润新知