当前位置: 首页 > 面试题库 >

如何计算一个类的实例数

高修伟
2023-03-14
问题内容

谁能告诉我如何计算一个类的实例数?

这是我的代码

public class Bicycle {

    //instance variables
    public int gear, speed, seatHeight;
    public String color;

    //constructor
    public Bicycle(int gear, int speed, int seatHeight, String color) {
        gear = 0;
        speed = 0;
        seatHeight = 0;
        color ="Unknown";      
    }

    //getters and setters
    public int getGear() {
        return gear;
    }
    public void setGear(int Gear) {
        this.gear = Gear;
    }

    public int getSpeed() {
        return speed;
    }
    public void setSpeed(int Speed){
        this.speed = Speed;
    }

    public int getSeatHeight() {
        return seatHeight;
    }
    public void setSeatHeight(int SeatHeight) {
        this.seatHeight = SeatHeight;
    }

    public String getColor() {
        return color;
    }
    public void setColor(String Color) {
        this.color = Color;
    }

 }//end class



public class Variable extends Bicycle {

    public Variable(int gear, int speed, int seatHeight, String color) {
        super(gear, speed, seatHeight, color);

    }

}//end class


public class Tester {

    public static void main(String args[]){


       Bicycle bicycle1 = new Bicycle(0, 0, 0, null);
       bicycle1.setColor("red");
       System.out.println("Color: "+bicycle1.getColor());
       bicycle1.setSeatHeight(4);
       System.out.println("Seat Height: "+bicycle1.getSeatHeight());
       bicycle1.setSpeed(10);
       System.out.println("Speed: "+bicycle1.getSpeed());
       bicycle1.setGear(6);
       System.out.println("Gear: "+bicycle1.getGear());

       System.out.println("");//space

       Bicycle bicycle2 = new Bicycle(0, 0, 0, null);
       bicycle2.setColor("black");
       System.out.println("Color: "+bicycle2.getColor());
       bicycle2.setSeatHeight(6);
       System.out.println("Seat Height: "+bicycle2.getSeatHeight());
       bicycle2.setSpeed(12);
       System.out.println("Speed: "+bicycle2.getSpeed());
       bicycle2.setGear(6);
       System.out.println("Gear: "+bicycle2.getGear());

       System.out.println("");//space

    }//end method
 }//end class

该类变量将用于计数创建的Bicycle类实例的数量,而测试人员类将创建数量众多的Bicycle类实例,并演示Bicycle类和class变量的工作方式。我看了遍整个互联网,似乎找不到任何东西,有人可以告诉我该怎么做,在此先感谢:)


问题答案:

由于static变量仅初始化一次,并且在所有实例之间共享,因此您可以:

class MyClass {

    private static int counter;

    public MyClass() {
        //...
        counter++;
    }

    public static int getNumOfInstances() {
        return counter;
    }
}

阅读有关JLS-8.3.1.1。中的static字段的更多信息。
静态字段


如果某个字段声明static也不管有多少个实例(可能为零)之类的,最终可能创建存在的领域,只有一个化身
。在static初始化类时(第12.4节),将包含一个有时称为类变量的字段。

请注意,counter它隐式设置为零



 类似资料:
  • 问题内容: 我一直在从正在扩展的模块中清理一些代码,但似乎找不到找到将这些代码Python化的方法: 此代码使用全局ID来跟踪类的实例(我在内部也需要该变量,并且它必须是数字)。 谁能建议一种将此代码Python化的方法? 问题答案: 尝试这样的事情:

  • 问题内容: 这是我简单的SQL问题… 我有两个表: 图书 命令 我想创建一个查询,返回: 换句话说,返回“书籍”表中 所有 行的每一列,以及一个计算得出的名为“ number_of_orders”的列,该列计算每本书在“订单”表中出现的次数。(如果订单表中未出现一本书,则该书 应 在结果集中列出,但“ number_of_orders”应该 为零 。 到目前为止,我已经提出了: 这 几乎是 正确的

  • 问题内容: 对于以下计算: 结果是: 相当于31天+1天= 32天。 为此: 结果是: 这等于:31天(八月)+ 30天(九月)+1(十月)= 62天 包裹中是否有一种方法可以计算出天数?我找不到一个。不知道我是否忽略了任何内容,还是只是简单地不存在。 问题答案: 从文档中: 要使用基于日期的值(年,月,日)定义时间量,请使用该类。的类提供各种获取方法,例如,,和。要呈现在时间的单个单元,测量的时

  • 问题内容: 我在Sqlite中有一个查询,其中涉及复杂的列计算,可以这样说: 我想将此计算选择为,但我还需要将其用作另一种计算的组成部分: 不幸的是,这会产生错误: 我知道我可以简单地重复计算: 但是,假设操作复杂且昂贵,是否有什么方法可以在以后重新引用它而不必重新计算呢? 问题答案: 您需要使用子查询。 结果

  • 生活中描述事物无非就是描述事物的 属性 和 行为。 如:人有身高,体重等属性,有说话,打架等行为。 事物名称(类名):人(Person) 属性:身高(height)、年龄(age) 行为(功能):跑(run)、打架(fight) Go 语言中用类来描述事物也是如此 属性:对应类中的成员变量。 行为:对应类中的成员方法。 定义类其实在定义类中的成员(成员变量和成员方法) 拥有相同或者类似 属性(

  • 有人能解释一下下面的代码是如何毫无例外地工作的吗。我在想,当为星期天创建新实例时,它也会为星期一(星期天内)创建一个新实例,然后再为星期天(星期一内)创建一个新实例,以此类推。。。类似递归的东西,因为它们都是课程周的一部分。但我的理解是错误的,因为下面的代码运行良好。 我有这个疑问,当我读到java枚举。