Java 25天基础-DAY 06-面向对象-静态代码块

本文详细介绍了Java中静态代码块的概念及使用方式。静态代码块随类的加载而执行,仅运行一次,主要用于类的初始化。文章通过具体示例展示了静态代码块的执行顺序及其与其他代码块的区别。

/*
静态代码快
格式:
static

    静态代码块中的执行语句。    

特点:随着类的加载而执行,只执行一次。优先于主函数执行。
用于给类进行初始化

*/
/*
class StaticCode
{

static
{
    System.out.println("a");
}

}
*/
class StaticCodeDemo
{

static
{
    System.out.println("b");
}

public static void main(String[] args) 
{
    //new StaticCode();
    //new StaticCode();
    System.out.println("over");

    new StaticCode2(4);
}
    static
{
    System.out.println("c");
}
//打印结果b,c,a over

// StaticCode s= null;//这个没有具体的指向,没有用到类中的内容,StaticCode不加载到内存。

}

class StaticCode2
{

int num = 9;
StaticCode2()    //构造函数
{//这不打印是因为没有创建过与它对应的对象
    System.out.println("d");
}
static
{//静态代码块,给类初始化。
    System.out.println("e");//这里不能访问num,因为num是非静态成员,当该代码执行的时候,num还没有存储进内存。
}

    
{//构造代码块,给对象初始化的。
    System.out.println("f"+this.num);
}

StaticCode2(int x)//构造函数,给对应对象初始化
{
    System.out.println("g"+num);
}
//打印结果:e,f,g

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值