一、构造方法的一些概念
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()必须要在第一排