- 一、什么是构造器?
- 二、构造器特征
- 示例一:学生类-无参构造
- 学生类-有参构造
一、什么是构造器?
- 构造器也称之为构造方法,构造函数;作用是构造一个类的实例,确保对象初始化。
- 构造器格式:权限修饰符 类名(参数列表) {}。
- 根据有无参数,划分为有参和无参构造函数。
构造器最大作用就是床架对象初始化,创建一个对象,系统会自动根据对象实例进行默认初始化,若想改变则可以通过自定义构造器实现。
构造器用来初始化对象时一并初始化数据成员,一个类可以有很多构造器,一个类的构造器名称必须和该类名称一致。
二、构造器特征
- 一般方法名不同,构造方法必须和类名一致,甚至没有返回值,或者连void都没有。
- Java编译器会自动创建无参构造函数,在类中,可以省略无参构造函数,实例化对象无需赋值。
- 若类已经存在有参构造函数,则编译器不再提供默认无参构造,实例化对象需要赋值,不然报错。
- 类实例化一个对象时会自动调用构造方法。
- 不可以被static、final、synchronized、abstract和native修饰,构造方法不会被子类继承。
- 每一个类可以有多个构造方法。
示例一:学生类-无参构造
public class Student {
//权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
public String name;
public int age;
//无参构造,编译器自带,可不写。
public Student(){
System.out.println("括号内无参数,这就是无参构造");
}
}
//测试类
public class Test {
public static void main(String[] args) {
Student st = new Student();//创建对象,括号内无需赋值
//没赋值的情况下,字符类型默认值为null,数值类型默认值为0
System.out.println(st.name+" "+st.age);//null,0
//对属性进行赋值
st.name="Tm猫";
st.age=5;
System.out.println(st.name+"今年"+st.age+"岁了");
}
}
学生类-有参构造
学生类:
public class Student {
//权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
public String name;
public int age;
//无参构造最好也写上
public Student(){
}
public Student(String name,int age){
System.out.println("括号内有参数,就是有参构造");
//将形参变量的值,赋给成员变量。
this.name = name;
this.age = age;
//this.name = "吴邪" 若直接在构造方法内部赋值,则优先执行其内部的值,即吴邪会替掉Tom猫
}
}
测试类:
public class Test {
public static void main(String[] args) {
//创建对象。赋值后,定义的值会传递给构造器中的形参变量。
Student st = new Student("Tom猫",5);//创建对象,须在括号内赋值,不然报错
//使用对象调用成员变量(java对象只能调用成员变量)
System.out.println(st.name+"今年 "+st.age+"岁了");
}
}
暑期编程PK赛
得CSDN机械键盘等精美礼品!


