package Demo;import java.util.Random;public class Demo1 {public static void main(String[] args) {//fill the staff array with three Employee objectsvar staff = new Employee[3];staff[0] = new Employee("harry",40000);staff[1] = new Employee(60000);staff[2] = new Employee();//print out information about all Employee objectsfor(Employee e : staff)System.out.println("name " + e.getName() + ",id=" + e.getId() + ",salary=" + e.getSalary());}}class Employee{private static int nextId;private int id;private String name = "";//instance field initializationprivate double salary;//static initialization blockstatic{var generator = new Random();//set nexId to a random number between 0 and 9999nextId = generator.nextInt(10000);}//object initialization block{id = nextId;nextId++;}//three overloaded constructorspublic Employee(String n,double s){name = n;salary = s;}public Employee(double s){//calls the Employee(String,double) constructorthis("Employee #" + nextId,s);}//the default constructorpublic Employee(){}public String getName(){return name;}public double getSalary(){return salary;}public int getId(){return id;}}
执行结果:
name harry,id=9635,salary=40000.0name Employee #9636,id=9636,salary=60000.0name ,id=9637,salary=0.0