美文网首页Java面试题
Java-静态代码块,构造代码块,构造函数【转载】

Java-静态代码块,构造代码块,构造函数【转载】

作者: 逗逼程序员 | 来源:发表于2019-09-16 17:44 被阅读0次

    ----------------------------------------------用于加深自己的印象了,谢谢原著了

    言归正传

    java 中的代码块分为 静态代码块、构造代码块、构造函数

    静态代码块:

    static 声明,jvm 加载类时执行,仅执行一次。

    构造代码块:

    类中直接用{}定义,每一次创建对象时执行。

    构造函数

    public A(){   
    //构造函数
    }
    

    关于构造函数,以下几点要注意:

    1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的。

    2.构造函数的作用是用于给对象进行初始化。

    3.一个对象建立,构造函数只运行一次,而一般方法可以被该对象调用多次。

    构造代码块

    {
        //构造代码块
    }
    

    关于构造代码块,以下几点要注意:

    1、构造代码块的的作用是给对象进行初始化

    2、对象一建立就运行构造代码块了,而且优先于构造函数,这里要强调一下,有对象建立,才会运行构造代码块,类不能调用构造代码块。

    3、构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数可以是多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会执行相同的构造代码块,也就是说,构造代码块是定义的不同对象的共性初始化内容。

    静态代码块

    static{
        //静态代码块
    }
    

    关于静态代码块,要注意的是:

    1、他是随着类的加载而加载,只执行一次,并且优先于主函数,具体说,静态代码块是由类调用的,类调用时,先执行静态代码块,然后才执行主函数的。

    2、静态代码块其实就是给类初始化的,而构造代码块是给对象初始化的。

    3、静态代码块中的变量是局部变量,与普通函数中的局部变量么有区别。

    4、一个类中可以有多个静态代码块。

    读完这篇文章 你是否加深了一些理解呢?

    相关文章

      网友评论

        本文标题:Java-静态代码块,构造代码块,构造函数【转载】

        本文链接:https://www.haomeiwen.com/subject/fpidyctx.html