本节目标:
·理解构造方法的作用
·掌握无参/带参构造方法的定义和使用
·理解this的作用及使用
构造方法的作用:对象初始化
系统默认提供无参构造方法;
构造方法的参数可以指定;
·无参构造方法语法格式:
访问修饰符 构造方法名(){
//初始化方法
}
·带参(自定义)构造方法语法格式:
访问修饰符 构造方法名(参数1,参数2…){
//初始化方法
}
构造方法示例:
Dog dog = new Dog();
``
public Dog(String name,String sex){
this.name = name;
this.sex = sex;
}
Dog dog = new Dog("小白","雄性");
注:带参构造方法体中的this指代当前对象。
this关键字的用法:
(1)调用属性
this.health = 100;
this.name="小红";
(2)调用方法
this.print();
(3)调用构造方法
this();
this("小黑","雄性","拉布拉多");
注:如果要使用,需满足以下条件
1.只能在构造方法中调用;
2.代码必须放在构造方法中的第一行;
课堂测试:
1.思考如下代码的结果是什么?为什么会出现这样的结果?
class Penguin {
String name = null; //昵称
int health = 0; // 健康值
String sex = null; // 性别
public void Penguin() {
health=10;
sex="雄";
System.out.println("执行构造方法");
}
public void print() {
System.out.println("企鹅的名字是" + name + ",健康值是"+ health + ",性别是" + sex);
}
public static void main(String[] args) {
Penguin p = new Penguin();
p.print();
}
}
课堂练习:
//定义一个Teacher类,属性包括:所授科目subject,授课年级:grade,姓名name,性别sex。再分别定义带参构造函数和无参构造函数,要求使用构造函数实现对象的实例化和初始化。
//定义一个Student类,属性包括:姓名name,性别sex,家庭住址address,年龄age.再分别定义带参构造函数和无参构造函数,要求使用构造函数实现对象的实例化和初始化。
总结:
·构造方法:
·作用:对象初始化
·每个类都有默认无参构造方法
·可以自定义带参构造方法,此时系统不再提供默认无参构造方法
·this关键字
·对当前对象的默认引用