zoukankan      html  css  js  c++  java
  • 构造方法的概述和使用

    构造方法的基本概念

      class类名{

        类名(形参列表){

          构造方法体;

        }

      }

    案例1:构造方法的使用

     

     案例2:默认构造方法

    案例3:新增类实例化,再次调用构造方法

     

     总结:

      1、构造方法与类名完全相同并且没有返回值类型,连void都不许有

      2、默认构造方法,案例2模拟编译器生成的默认构造方法 

        当一个类中没有定义任何构造方法构造方法时,编译器会自动添加一个无参空构造方法,叫做默认/缺省构造方法,如Person(){}

      3、若类中出现了构造方法,则编译器不再提供任何形式的构造方法,若类中提供构造方法后,则调用类中提供的构造方法的版本

      4、实例化类的时候,构造方法会自动调用,使用show()成员方法可以看出,(构造方法在使用成员方法之前已经调用

      5、每次实例化类的时候,会新建立一个构造方法并自动调用(案例3演示)

    构造方法的使用:

       以上是我们创建的三个构造方法,默认构造方法,自定义参数构造方法;当我们声明p1的时候,盏在内存生成0X10的引用,指向堆里面的0X10(堆中存放着张飞和30);

    当我们声明p2的时候,盏在内存生成0x20的引用,指向堆里面的0X20(堆中存放着关羽和35);以上操作是系统自动完成的。

    构造方法的作用:

      使用new关键字创建对象时会自动调用构造方法实现成员变量初始化工作。

      

    注意:

      如果自定义构造方法后,编译器是不会再提供构造方法,也就是默认的无参数构造方法编译器不会再提供。如果此时再使用new Person()这种方式调用无参够着方法而

    自己并没有写无参构造方法系统会报错

  • 相关阅读:
    app已损坏,打不开。你应该将它移到废纸篓。
    Mac/win eclipse genymotion 插件下载地址
    过大年
    error: L6235E: More than one section matches selector
    android socket 线程连接openwrt与arduino单片机串口双向通信
    PCB对应封装元件名称
    网页代码总结
    sql一个表中的数据插入到另外一个表中
    树莓派更换镜像源
    SQL 中的 AND OR
  • 原文地址:https://www.cnblogs.com/xujiaqi/p/13552392.html
Copyright © 2011-2022 走看看