假設我們有一組工人,我們想要給他們設定四個屬性,一個是工人號、一個是姓名、一個是工薪、一個是部門,我們想封裝好一個工人類,然后我們在主類里面實例化每一個工人對象,然后調用一下一個showmsg方法用來顯示工人的基本信息。
提示:這里面我們就想在實例化每個工人時調用不同的工人構造方法,用來加強對構造函數的理解和學習。
下面附工人信息代碼:

class Employee
{
 private String empno;
 private String name;
 private float salary;
 private String dept;
 public Employee(){
 }
 public Employee(String no){
  this.setEmpno(no);
  this.setName("無名氏");
  this.setSalary(0.0f);
  this.setDept("未定");
 }
 public Employee(String no,String na){
  this.setEmpno(no);
  this.setName(na);
  this.setSalary(0.0f);
  this.setDept("后勤");
 }
 public Employee(String no,String na,float sa,String d){
  this.setEmpno(no);
  this.setName(na);
  this.setSalary(sa);
  this.setDept(d);
 }
 //顯示信息
 public void showMsg(){
  System.out.println("員工信息為:");
  System.out.println("\t|-員工號:"+empno);
  System.out.println("\t|-姓名:"+name);
  System.out.println("\t|-新水:"+salary);
  System.out.println("\t|-部門:"+dept);
 }
 //代碼之后必須有setter和getter
 public void setEmpno(String a){
  empno=a;
 }
 public void setName(String n){
  name=n;
 }
    public void setSalary(float s)
    {
       if (s>=0.0f)
       {
         salary=s;
       }
    }
    public void setDept(String d)
    {
       dept=d;
    }
    public String getEmpno()
    {
      return empno;
    }
    public String getName()
    {
      return name;
    }
    public float getSalary()
    {
      return salary;
    }
    public String getDept()
    {
      return dept;
    }
}
//主類
public class ooDemo10 {
 public static void main(String args[]){
  Employee e1=new Employee("e001","王乾");
        Employee e2=new Employee("e002","王乾",10000.0f,"開發部");
        Employee e3=new Employee("e003");
        Employee e4=new Employee();
        e1.showMsg();
        e2.showMsg();
        e3.showMsg();
        e4.showMsg();
        }
}


我們來看一下效果圖:



實際上我們分別調用了工人類的四個構造函數,在初始化對象時每一個構造函數都被調用了一次,然后把信息都顯示出來,這個時候我們調用了showmsg方法,這樣就是我們看到上面的效果,需要注意的是調用默認構造函數的時候,由于沒有參數傳遞,所以工人的屬性值都是默認值,也就是浮點型數據都是0.0,而字符串類型數據第一山谷null。