java初始化模块执行_java 建立对象 先调用构造器 还是先调用初始化模块

publicclassYinYongTest{publicstaticvoidmain(String[]args){Employa=newEmploy("啊啊啊",100000);System.out.println("a的名字是"+a.getName()+",a的ID是"+a.getId()+",a的工资是...

public class YinYongTest{

public static void main(String[] args){

Employ a = new Employ("啊啊啊", 100000);

System.out.println("a的名字是" + a.getName() + ",a的ID是" + a.getId() + ",a的工资是" + a.getSalary());

Employ b = new Employ(20000);

System.out.println("b的名字是" + b.getName() + ",b的ID是" + b.getId() + ",b的工资是" + b.getSalary());

}

}

class Employ{

public Employ(String n, double s){

name = n;

salary = s;

}

public Employ(double s){

this("Employ #" + id, s);

}

private String name ;

private double salary ;

private static int nextId;

private static int id;

static{

Random generator = new Random();

nextId = generator.nextInt(10000);

}

{

id = nextId;

nextId++;

}

}

用第一个构造器创建一个对象,再用第二个构造器创建一个对象,但是第二个对象的name总是“Employ #“加上第一个对象的id,而不是第一个对象id+1,Employ类里面有get、set方法,为了简洁没有放上来。

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值