JAVA构造方法

Posted dongwei-home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA构造方法相关的知识,希望对你有一定的参考价值。

构造方法:
    字面解释:
        在对象在new构造出来的时候便同步执行的方法(方法名需要与类名一致)。

    作用:
        1.对类成员变量进行初始化:
            eg:
                class A 
                {
                int one;
                int two;
                public A()
                    {
                    this.one = 10;
                    this.two = 20;
                    //A就是classA的构造方法,作用是将成员变量one和two赋值为10和20.    
                    }
                }

        2.支持多个构造方法,以重载形式存在(根据传入参数的不同,选择不同的构造方法)

                class B

                {
                int one;
                    public B ( int math )
                        {
                        this.one = math;
                        }
                        //传入一个int参数,即进行这个构造方法
                    
                    public B ( int math1 , int math2 )
                        {
                        this.one = math1 + math2;
                        //传入两个int参数,即进行这个构造方法
                        }
                    
                }
        3.构造方法不仅可以进行成员变量的初始化(事实上,这个方法里面就跟普通方法一样,但构造方法可以在对象new出来的时候便运行,而普通方法需要"对象.方法名"进行调用运行)
        4.补充:事实上每一个class都必须有一个默认的构造方法,不需要写也有("public 类名(){}")
        5.构造方法与普通方法的不同:
                 
                1.格式不同
                 构造方法 : 修饰符  类名(参数类型 参数 ...){
                    初始化成员变量
                }
                一般方法: 需要有返回值类型

                2.作用不同
                构造方法一般用来给成员变量初始化;
                一般方法根据需求而定;

                3.调用方式不同
                构造方法创建对象时调用, 或者this() super() 语句调用
                普通方法需要对象调用或者静态方法直接调用静态方法.

                4.执行不同
                构造方法在对象创建时就执行了,而且只执行一次。
                一般方法是在对象创建后,需要使用时才被对象调用,并可以被多次调用。

 

以上是关于JAVA构造方法的主要内容,如果未能解决你的问题,请参考以下文章

Java如何快速构造JSON字符串

在 Visual Studio 中创建构造函数的代码片段或快捷方式

无法解析片段中的 ViewModelProvider 构造?

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Java——线程池