三种代码块的比较

您所在的位置:网站首页 静态代码块和main方法执行顺序 三种代码块的比较

三种代码块的比较

2023-04-07 17:02| 来源: 网络整理| 查看: 265

静态代码块:在类加载时就加载,并且只被加载一次,一般用于项目的初始化

构造代码块:在创建对象时会自动调用,每次创建对象都会被调用,提取构造共性

局部代码块:方法里的代码块,限制局部变量的范围

package cn.tedu.oopstatic;

/*本类用于学习静态代码块*/

/*执行顺序:

* 静态代码块->构造代码块->构造方法【对象创建成功】->局部代码块*/

public class TestStaticBlock {

    public static void main(String[] args) {

        //6.创建对象进行测试

        Person p = new Person();

        Person p2 = new Person();

        //7.触发局部代码块

        p.play();

    }

}

//1.创建Person类

class Person{

    //8.创建静态代码块

    /*位置:类里方法外

    * 执行时机:静态代码块也属于静态资源,随着类的加载而加载,优先于对象加载

    *        并且静态资源只会加载一次

    * 作用:用于加载那些需要第一时间就加载,并且只加载一次的资源*/

    static{

        System.out.println("我是静态代码块");

    }

    //2.创建构造代码块

    /*位置:类里方法外

    执行时机:每次创建对象时被触发,并且优先于构造方法执行

    作用:用于提取所有构造方法的共性功能*/

    {

        System.out.println("我是构造代码块");

    }

    //5.创建构造方法

    public Person(){

        System.out.println("我是无参构造");

    }

    //3.创建普通方法

    public void play(){

        System.out.println("我是一个普通方法");

        //4.创建局部代码块

        /*位置:方法里

        * 执行时机:执行本局部代码块所在的方法时才会执行

        * 作用:用于限制变量的作用范围*/

        {

            System.out.println("我是一个局部代码块~");

        }

    }

}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3