构造器是一种特殊的方法,构造器的名称必须与类名相同,没有返回值,它的作用就是创建对象时调用。
public class Student {
private String nameString ;
private int age;
private char sex;
private int sno ;
//构造器
public Student(String name,int age,char sex,int sno) {
this.nameString = name;
this.age = age;
this.sex = sex;
this.sno = sno;
}
}
this关键字,就是谁调用这个方法,this就代表谁
- 当我们new一个对象时,new的后面便是构造方法
- 每个类如果不写构造方法的话,就是默认会生成一个无参构造方法,如果写了构造方法,就会覆盖掉无参构造。
- 构造器的重载,参数列表不同的构造方法,实例化时会选择调用哪一个。
- 构造器的继承,子类构造器会默认调用父类的构造器,如果父类是参构造器,则直接super();如果父类是有参构造器,要在super中传入参数,要在子类构造器的第一行指定。
package test;
//描述雇员。
abstract class Employee{
private String name ;
private String id ;
private double pay ;
Employee(String name,String id, double pay){
this.name = name;
this.id = id;
this.pay = pay;
}
}
//描述程序员
class Programmer extends test.Employee {
Programmer(String name,String id, double pay){
super(name,id,pay);
}
}
//描述经理
class Manager extends test.Employee {
private int bonus ;
Manager(String name,String id, double pay,int bonus){
super(name,id,pay);
this.bonus = bonus;
}
}