给对应对象初始化。
1、构造方法时一种特殊的方法,作用:给对应对象初始化。
特殊在哪?
1 构造函数的函数名与类名一致。
2 默认构造函数没有参数,没有返回值。构造函数在函数体内也没有内容。不能声明void,访问权限可以为任意,但是一般情况下使用public方法权限,构造方法中的参数可以根据需要自行定义,参数的不同的构造方法构成重载。
public class B extends A { public B(){} //无参的公有构造方法 public B(int i){} //参数类型为int的公有构造方法 public B(int i,double j,char f){} //参数类型为int和double,char的公有构造方法 ... }
2、构造方法使用
1 new一个对象,直接调用
Demo demo = new Demo();
2 用this或super关键字
public Demo(){
this(13); //这里调用参数为int类型的本类的构造方法
}
public Demo(){
super(1); //调用参数为int类型的父类的构造方法
}
—》this或super调用构造方法只能出现在构造方法中,而且必须出现在第一行,所以一个构造方法中第一行只能为this或super调用构造方法,两者不能同时调用构造方法出现,而且注意this或super调用构造方法时,要留构造方法出口,意思就是最后调用的构造方法中没有再调用别的构造方法!
3、构造器是什么?
构造器就是和类名相同但无返回类型的方法
—》构造方法
—》构造器通常也叫构造方法、构造函数
另外不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承
所以它与方法的区别全部写在上面了。
4、构造方法与方法的区别?
1 构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
2 构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
3 不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。