首页 > 编程语言 > 详细

Java初始化数据域的途径

时间:2014-09-20 18:10:10      阅读:239      评论:0      收藏:0      [点我收藏+]

Java调用构造器的具体处理步骤:

1.所有数据域被初始化为默认值(0,false或null);

2.按照在类声明中出现的次序,依次执行所有域的初始化语句和初始化块;

3.如果构造器第一行调用了第二个构造器,则执行第二个构造器主体;

4.执行这个构造器的主体。

import java.util.*;
public class ConstructorTest {
    public static void main(String[] args)
    {
        Employee[] staff =new Employee[3];
        staff[0]=new Employee("Harry",40000);
        staff[1]=new Employee(60000);
        staff[2]=new Employee();
        for(Employee e:staff)
        {
            System.out.println("name="+e.getName()+",id="+e.getId()+",salary="+e.getSalary());
        }
    }
}

class Employee
{
    public Employee(String n,double s)
    {
        name=n;
        salary=s;
    }
    public Employee(double s)
    {
        this("Employee #"+nextId,s);
    }
    public Employee()
    {
        
    }
    public String getName()
    {
        return name;
    }
    public double getSalary()
    {
        return salary;    
    }
    public int getId()
    {
        return id;
    }
    private static int nextId;
    private int id;
    String name="";
    private double salary;
    static
    {
        Random generator=new Random();
        nextId=generator.nextInt(10000);
    }
    {
        id=nextId;
        nextId++;
    }
}

运行结果:

name=Harry,id=4891,salary=40000.0

name=Employee #4892,id=4892,salary=60000.0

name=,id=4893,salary=0.0

Java初始化数据域的途径

原文:http://www.cnblogs.com/lakeone/p/3983454.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!