Cat cat1 = new Cat(); Cat();叫做构造器 public Cat(){} 构造器与类同名。在构造 Employee 类的对象时, 构造器会运行,以便将实例域初始化为所希望的状态。 构造器与其他的方法有一个重要的不同。构造器总是伴随着 new 操作符的执行被调用,而不能对一个已经存在的对象调用构造器来达到重新设置实例域的目的。 构造器的特点: ①.构造器的名称和类的名称相同 ②.构造器没有返回值 ③.构造器的最主要特点是创建对象,并且在创建对象的时候给对象赋予初 始值 ④.在一个类当中有一个或一个以上的不同的构造器 ⑤.在一个类当中有一个默认的不显示的无参的构造器,并且当我们在这个 类当中重写一个构 造器的时候这个默认的不显示的无参的构造器将会被覆盖
代码:
package com.qcby;
import java.time.LocalDate;
public class EmployeeTest {
public static void main(String[] args) {
Employee[] staff = new Employee[3];
staff[0] = new Employee("Carl Cracker",75000,1987,12,15);
staff[1] = new Employee("Harry Hacker",50000,1989,10,1);
staff[2] = new Employee("Tony Tester",40000,1990,3,15);
for(Employee e : staff) {
e.raiseSalary(5);
}
for(Employee e : staff) {
System.out.println("name="+e.getName()+",salary="+e.getSalary()
+",hireDay="+e.getHireDay());
}
}
}
class Employee{
private String name;
private double salary;
private LocalDate hireDay;
public Employee(String n,double s,int year,int month,int day) {
name = n;
salary = s;
hireDay = LocalDate.of(year, month, day);
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public LocalDate getHireDay() {
return hireDay;
}
public void raiseSalary(double byPerecent) {
double raise = salary*byPerecent/100;
salary+=raise;
}
}
|