Java 中的代码块

目标:代码块-静态代码块

目标:代码块-静态代码块。

代码块是类的成分之一:
    成员变量,方法,构造器,代码块,内部类。
代码块按照有无static修饰分为:
    1.静态代码块。
    2.实例代码块。
静态代码块的格式:
    static {

    }
静态代码块特点:
    -- 必须有static修饰。
    -- 会与类一起优先加载,且自动触发执行一次。
静态代码块作用:
    -- 可以在执行类的方法等操作之前先在静态代码块中进行静态资源的初始化操作。

小结:
    静态代码块有static修饰,与类一起加载,自动触发执行一次。
    静态代码块的作用:可以用于在静态代码块中进行静态资源的初始化操作。

静态代码块案例:

public class CodeDemo01 {
    public static String schoolName ;
    public static ArrayList<String> lists = new ArrayList<>();

    // 静态代码块,属于类,与类一起加载一次!
    static {
        System.out.println("静态代码块被触发执行~~~~~~~");
        // 在静态代码块中进行静态资源的初始化操作
        schoolName = "黑马";
        lists.add("3");
        lists.add("4");
        lists.add("5");
    }

    public static void main(String[] args) {
        System.out.println(schoolName);
        System.out.println(lists);
    }
}

目标:代码块-实例代码块

实例代码块的格式:
     {

     }

实例代码块的特点:
    -- 无static修饰。
    -- 会与类的对象一起加载,每次创建类的对象的时候,
        实例代码块都会被加载且自动触发执行一次。
    -- 实例代码块的代码在底层实际上是提取到每个构造器中去执行的!

实例代码块的作用:
    -- 实例代码块可以在创建对象之前进行实例资源的初始化操作。

小结:
    实例代码块无static修饰,属于对象,与对象一起加载执行。
    实例代码块的代码在底层实际上是提取到每个构造器中去执行的!
    实例代码块可以在创建对象之前进行实例资源的初始化操作。

实例代码块案例:

public class CodeDemo02 {
    private String name;
    private ArrayList<String> lists = new ArrayList<>();
    // 实例代码块!属于对象!与对象一起加载!
    {
        name = "小手";
        lists.add("东");
        lists.add("南");
        lists.add("西");
        lists.add("北");
        System.out.println("实例代码块被触发执行一次~~~~~~~~");
    }

    public CodeDemo02(){

    }
    public CodeDemo02(String name){

    }

    public static void main(String[] args) {
        CodeDemo02 c = new CodeDemo02();
        System.out.println(c.name);
        System.out.println(c.lists);
        new CodeDemo02();
        new CodeDemo02();
    }
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值