gpt4 book ai didi

java - 统计java创建的对象个数

转载 作者:行者123 更新时间:2023-11-29 04:16:08 39 4
gpt4 key购买 nike

我正在尝试计算创建的对象数量,但它始终返回 1。

public class Drivertwo {

public static void main(String[] args) {
Employee newEmp = new Employee();
Employee newEmp2 = new Employee();
Calculate newcal = new Calculate();
Clerk newclerk = new Clerk();

float x;
int y;

newEmp.setEmp_no(2300);
newEmp.setEmp_name("W.Shane");
newEmp.setSalary(30000);
newEmp.counter();

newEmp2.setEmp_no(1300);
newEmp2.setEmp_name("W.Shane");
newEmp2.setSalary(50000);
newEmp2.counter();

newclerk.setEmp_name("Crishane");
newclerk.setEmp_no(1301);
newclerk.setGrade(2);
newclerk.setSalary(45000);
newclerk.counter();

System.out.println("Salary is:" + newcal.cal_salary(newclerk.getSalary(), newclerk.getEmp_no()));
System.out.println("Name is:" + newclerk.getEmp_name());
System.out.println("Employee number is:" + newclerk.getEmp_no());
System.out.println("Employee Grade is:" + newclerk.getGrade());
System.out.println("No of objects:" + newEmp.numb);

这是我的类的主要方法

public class Employee {
private int salary;
private int emp_no;
private String emp_name;
public int numb=0;

public int getSalary() {
return salary;
}

public int getEmp_no() {
return emp_no;
}

public String getEmp_name() {
return emp_name;
}

public void setSalary(int newSalary) {
salary = newSalary;
}

public void setEmp_no(int newEmp_no) {
emp_no = newEmp_no;
}

public void setEmp_name(String newEmp_name) {
emp_name = newEmp_name;
}


}

public int counter() {
numb++;
return numb;

这是我的 Employee 类

我尝试在我的员工类中运行计数器作为启动器,但它总是返回 1。我知道我可以在主类中创建一个计数器,每次创建一个新对象时我都可以获得计数器,但我想自动增加制作对象时 NumPy 1。

最佳答案

您需要将 numb 设为静态,这样类的每个实例都只有一个副本。实际上,每个 Employee 对象都有自己的 numb 副本。

另外,与其创建一个增加计数器的方法,不如将其放在构造函数中:

public Employee() {
numb++;
}

关于java - 统计java创建的对象个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52301869/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com