前言
1.明白对象具体是通过调用什么代码完成的
2.掌握为对象属性赋值的其他方法
一、构造器的作用
用于初始化一个类的对象,并返回对象的地址。
构造器的定义格式:
修饰符 类名 ( 形参列表) {
…
}
package com.juyi.object;
public class Student {
String name;
int age;
char sex;
//无参数构造器
public Student(){
}
//有参数构造器
public Student(String a, String b){
}
}
-
无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值
-
有参数构造器:在初始化对象的时候,同时可以为对象赋值
初始化对象的格式
类型 变量名称 = new 构造器;
Student s = new Student();
二、简单使用
1.无参数
代码如下:
package com.juyi.object;
//说出对象是通过构造器初始化出来的,理解构造器的分类和区别
public class test {
public static void main(String[] args) {
Student s1 = new Student(); //
System.out.println(s1.name);
System.out.println(s1.age);
System.out.println(s1.sex);
}
}
package com.juyi.object;
public class Student {
//
String name;
int age;
char sex;
//无参数构造器
public Student(){
System.out.println("无参数构造器被触发.");
}
//有参数构造器
public Student(String a, String b){
}
}
执行结果如下:
2.有参数
代码如下(示例):
验证结果如下:
this
this的作用怎么体现:
- 我们希望在有参构造器中,传参时参数命名有意义——见名知义
比较下面实例中两种有参构造器中的参数命名是不同的
在调用成员变量进行传参时,如下
运行结构如下:
显然,并没有赋值,左右两边的name是同一个局部形参。
改进方法为使用this,如下程序所示:
总结
注意:
任何类定义出来就默认带了无参构造器,一旦定义了有参构造器,无参构造器就没有了,此时就要自
己写无参构造器。