构造函数

Posted 128-cdy

tags:

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

一,构造函数的定义格式:

     Java中所有类都有构造方法,用来进行该类对象的初始化,构造方法也有名称,参数和方法体以及访问权限的设定。

         1.构造方法的完整定义格式如下:

              [public|protected|private]<class_name>([argument_list>])

               {

                     [<statements>]

               }

         2.访问限定符(4种)

              ♦public :任何类都能够创建这个类的实例对象。

              ♦protected:只有这个类的子类以及与这个类在同一个包中的类可以创建这个类的实例对象。

              ♦private:没有其他类可以实例化该类,只有这个类中具有public权限的方法可以构造该类的对象。

              ♦没有访问权限设定:只有与该类在同一个包中的类可以创建该类的实例化对象。

        3.构造方法的特点:

               ♥构造方法的名称必须与类名相同。

               ♥构造方法不能有返回值。

               ♥用户不能直接调用构造方法,必须通过关键字new 自动调用它。

        ( 补充:)

                     1.用class定义的类型叫做类类型。

      2.一个类是用来描述一个实体(属性+行为)的抽象类型。

           类(成员变量)=》实体的属性的

           类(成员方法)=》实体的行为的

      3.类里面的所有成员都可以做访问限定,如:public,private。。。

      4.对象的成员变量如果没有初始化,会自动进行初始化的,

            引用类型的变量==》null

            简单类型的变量:byte,short,int,long==》0

                 float,double==》0.0

                 boolean==》false

                  char==》‘u0000‘

      5.构造方法的特点:

          new对象的时候,先分配内存,然后自动调用相应的构造函数。

          构造函数专门做成员变量的初始化操作。

                  成员变量没有返回值,只有函数名和参数列表。

          构造函数的名字只能和类名相同。

      6.类里面

      7.static成员变量是属于类级别的,是所有这个类实例化的对象所共享的变量

       普通的成员变量是属于对象级别的,是每一个对象所私有的。

      8.static成员方法属于类级别,调用时通过 ( 类名. )  进行调用,方法中没有this引用

       普通的成员方法必须通过   (对象. )   来调用,方法中没有this 引用变量。

              技术图片

 

 

 

 

   4.默认的构造方法

    在Java类中可以不定义构造方法,而其他类仍然可以通过调用new XXX()来实例化XXX类的对象。

这是因为Java在编译时,给没有定义构造方法的类自动加入了一个特殊的构造方法。这个方法不带参数,且方

法体为空,称为类默认的构造方法。

              用默认构造法方法初始化对象时,由系统用默认值初始化对象。

        5.重载构造方法

          构造方法可以重载,即定义多个构造方法,其参数表不同,重载构造方法的目的是使类对象具有不同的初始值,为类对象的初始化提供方便。

 

补充:

javap -c +类名.class   该文件的反汇编

javac   类名.class        程序的编译成class字节码文件

java  类名                     运行字节码文件

jps                              查看运行的进程和进程号(pid)

jmap                          查看堆上的对象信息

jmap  -histo[:live]  pid         查看堆上活着的对象

jmap  -histo[:live]  pid ->log.txt          并且输出到log文件中(查看该文件 start.    找到该文件打开)

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

静态构造函数、内部构造函数和公共构造函数有啥区别?

Kotlin类的初始化 ② ( 主构造函数 | 主构造函数定义临时变量 | 主构造函数中定义成员属性 | 次构造函数 | 构造函数默认参数 )

php构造函数的PHP 5 构造函数和析构函数

常见的构造函数类型

构造函数 析构函数 拷贝构造函数 ~~~~~~~~~~构造函数

C# 构造函数总结