zoukankan      html  css  js  c++  java
  • Java初始化数据域的途径

    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

  • 相关阅读:
    单例模式
    分析GC日志
    JVM运行时参数
    JVM监控及诊断工具-GUI篇
    JVM监控及诊断工具-命令行篇
    性能监控与调优(概述篇)
    再谈类的加载器
    类的加载过程(类的生命周期)详解
    字节码指令集
    class文件结构
  • 原文地址:https://www.cnblogs.com/lakeone/p/3983454.html
Copyright © 2011-2022 走看看