通过一个类创建一个对象,这个过程叫做实例化
实例化是通过调用构造方法(又叫做构造器)实现的
步骤1:什么是构造方法
步骤2:隐式的构造方法
步骤3:如果提供了一个有参的构造方法
步骤4:构造方法的重载
步骤5:练习-构造方法
步骤6:答案-构造方法
步骤 1 : 什么是构造方法
方法名和类名一样(包括大小写)
没有返回类型
实例化一个对象的时候,必然调用构造方法
public class Hero {
String name;
float hp;
float armor;
int moveSpeed;
// 方法名和类名一样(包括大小写)
// 没有返回类型
public Hero() {
System.out.println( "实例化一个对象的时候,必然调用构造方法" );
}
public static void main(String[] args) {
//实例化一个对象的时候,必然调用构造方法
Hero h = new Hero();
}
}
|
步骤 2 : 隐式的构造方法
Hero类的构造方法是
这个无参的构造方法,如果不写,就会默认提供一个
public class Hero {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
//这个无参的构造方法,如果不写,
//就会默认提供一个无参的构造方法
// public Hero(){
// System.out.println("调用Hero的构造方法");
// }
public static void main(String[] args) {
Hero garen = new Hero();
garen.name = "盖伦" ;
garen.hp = 616 .28f;
garen.armor = 27 .536f;
garen.moveSpeed = 350 ;
Hero teemo = new Hero();
teemo.name = "提莫" ;
teemo.hp = 383f;
teemo.armor = 14f;
teemo.moveSpeed = 330 ;
}
}
|
步骤 3 : 如果提供了一个有参的构造方法
一旦提供了一个有参的构造方法
同时又没有显式的提供一个无参的构造方法
那么默认的无参的构造方法,就“木有了“
public class Hero {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
//有参的构造方法
//默认的无参的构造方法就失效了
public Hero(String heroname){
name = heroname;
}
public static void main(String[] args) {
Hero garen = new Hero( "盖伦" );
Hero teemo = new Hero(); //无参的构造方法“木有了”
}
}
|
步骤 4 : 构造方法的重载
和普通方法一样,构造方法也可以重载
public class Hero {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
//带一个参数的构造方法
public Hero(String heroname){
name = heroname;
}
//带两个参数的构造方法
public Hero(String heroname, float herohp){
name = heroname;
hp = herohp;
}
public static void main(String[] args) {
Hero garen = new Hero( "盖伦" );
Hero teemo = new Hero( "提莫" , 383 );
}
}
|
更多内容,点击了解: https://how2j.cn/k/class-object/class-object-constructor/292.html