构造方法(构造器)的深入理解

 

要谈及构造方法,就先要谈及方法,那么什么是方法呢?

 

方法的定义

            方法:用来描述该类实物共有的一些行为。 可以分为成员方法和静态方法。

            成员方法:没有用static修饰的方法(实例方法,对象方法)。

            静态方法:用static修饰的方法(类方法),可以直接通过类名直接调用。

            注意:如果一个方法的返回值类型是void表示该方法没有返回值

 

构造方法(构造器)定义

       构造方法和构造器只是翻译上的差异,实际上是同一个事物。

       构造方法是一种特殊的成员方法。可以分为有参构造方法和无参构造方法。

        无参构造方法:根据成员变量类型将成员变量初始化为null或0或false。

        有参构造方法:将成员变量进行初始化并赋值(这里指的是通过形参传进来的实参)。

  

构造方法的特点:

       1.构造方法方法名和类名一致,没有返回值,但不能声明void,一旦声明void,系统默认将不是构造方法。

       2.可以设置关键字来控制其访问权限,但是一般情况下使用public方法权限。在默认情况下,如果不写任何关键字,其访问

         权限也是public。.

      3.系统会默认生成一个无参的构造方法。如果我们自己定义了一个构造方法(无参或者有参),原来默认的无参构造方法就

        不存在了(系统默认新定义的构造方法覆盖了默认的无参构造)。

      4.创建子类对象会调用父类构造方法但不会创建父类对象,只是调用父类构造方法初始化父类成员属性。

 

构造方法的作用:

           在实例化对象时给对象属性赋值,即初始化成员属性而不是初始化对象。

解释:实例化类之后(类实例化通过new关键字实现)才能调用类内部的属性,而在实例化类之前,系统需要给类属性分配内

          存 进行存储。即在new将对象的引用返回之前初始化对象属性。

                

         在这里就引申到另一个问题,构造方法有什么其他作用?

         当几个变量要实现同样的功能,但是仅仅参数类型不同时,我们仅仅只需要调用不同参数的构造方法就行,不需要新定义

         一个其他的方法。即:在构造方法对类进行构造的时候,只需要将功能类似的,但形参不同的方法直接打包在该类下,当

         我们根据需要调用的时候,直接重载构造器中的需要的方法。

         方法的重载具体参照https://blog.csdn.net/HY845638534/article/details/84112833

 

构造方法的使用:

        1.在关键字new后面,类名+(),小括号内加上实参;

                   类名 变量=new 类名(参数1,参数2);

        注意:此处的参数为实参,即需要传进去的参数。如果调用无参构造方法,则不需要填写参数。如果调用了参数则必须和

                 需要调用的构造方法参数(形参)参数列表相同,即类型相同,个数形同,类型顺序相同。

       2.跟在关键字super或this后加小括号() ,小括号内加上实参;

public  SalesEmployee(int id,double sales){
    super(id,"");//这里使用了Spuer(),""也为实参,必须写。
}

  这里使用了Spuer(),继承了父类中的  

public Employee(int id ,String name){
    this.id=id;
    this.name=name;
}

 

this的使用则是

public Employee(int id ,String name ,double money){
    this(id,name);
    this.id=id;
    this.name=name;
    this.money=money;
}

这里this()括号里面的参数是构造方法中的形参,必须名字和顺序相同,则会直接先行去实现this调用的构造方法。用在本类中。

具体的spuer使用参考https://blog.csdn.net/HY845638534/article/details/84112861

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值