重载构造器+几种初始化

来源:互联网 发布:淘宝网哪里找货源 编辑:程序博客网 时间:2024/06/05 07:50

重载构造器

用this调用另一个构造器

无参数构造器

实例域初始化

对象初始化块

静态初始化块

import java.util.*;public class Test{public static void main(String args[]){Employee[] staff = new Employee[3];staff[0] = new Employee("Bob", 40000);staff[1] = new Employee(60000);staff[2] = new Employee();for(Employee e: staff){System.out.println("name=" + e.getName() + ", salary=" + e.getSalary() + ", id=" + e.getId());}}}class Employee{private static int nextId;private int id;private String name = "";//实例域初始化private double salary;static//静态初始化块{Random gen = new Random();nextId = gen.nextInt(10000);}{//对象初始化块id = nextId;nextId++;}//三个重载构造器public Employee(String n, double s){name = n;salary = s;}public Employee(double s){this("Employee#"+nextId, s);//调用另一个构造器}public Employee(){//name=""、salary=0、id已经对象初始化块中初始化了}public String getName(){return name;}public double getSalary(){return salary;}public int getId(){return id;}}

output:

name=Bob, salary=40000.0, id=4789name=Employee#4790, salary=60000.0, id=4790name=, salary=0.0, id=4791

原创粉丝点击