l类中的构造函数——Java面向对象基础(11)

一、构造方法的一些概念

  1.构造方法它也称为构造器、构造函数。

  2.构造方法有什么作用?主要是用于对象的实例化和初始化操作

二、构造方法的使用

  1.无参构造

public class MyTools {
   String sword;
//无参构造 public MyTools(){ //代码段 } }

  2.有参构造

public class MyTools {
    String sword;
    //有参构造
    public MyTools(String sword){
        this.sword=sword;
    }
}

  3.构造方法要满足:

    1.构造方法没有返回类型(包括void都没有)

    2.构造方法的方法名称必须和类名保持一致

三、构造方法的重载(构造方法其实也是一种特殊的方法重载)

  1.基本上与方法的重载要求一样,不过还需要注意一些细微的地方。

  2.当有参构造方法出现时,如果想用无参构造方法就必须写出来。

  3.下面几点需要注意:

  (1)无参构造为隐式的可以不用编写(前提是没有有参构造函数)

 

  (2)只有有参构造,却要使用无参构造会报错

 

   (3)当同时拥有无参与有参后,可以随便使用

public class MyTools {
    String sword;
    //有参构造
    public MyTools(String sword){
        this.sword=sword;
    }
    //无参构造
    public MyTools(){
    }
}
public class Main {
    public static void main(String[] args) {
        MyTools m=new MyTools();//使用无参构造
        MyTools mt=new MyTools("sword");//使用有参构造
    }
}

  4.一般建议是:对象实例化时,若果要调用有参方法,为了确保不出错,把有参无参都写出来

四、this关键字

  1.如果在构造方法中this.属性,this是代表对象本身。

   2.如果是this([参数别])代表可以调用其他的构造函数,只是要注意:this(..)放置在构造方法的有效的第一行。

public class MyTools {
    String sword;
    public MyTools(String sword){
        this.sword=sword;
    }
    public MyTools(){
        this("sword");//相当于调用了MyTools(String sword)这个构造函数
    }
}

   注意这样使用的话,this()必须要在第一排

猜你喜欢

转载自www.cnblogs.com/Unlimited-Rain/p/12466119.html