了解简单的反码

时间:2014-02-20 11:05:12

标签: java counter

我正在为大学的初学者学习Java课程,我很困惑它是如何编译/执行的 以下是代码:

public class Counter {
    private int counter;
    private int end;

    public Counter(int start, int end) {
        this.counter = start;
        this.end = end;
    }

    public String toString() {
        return "[Counter counter=" + counter + " end=" + end + "]";
    }

    public int getCounter() {
        return counter;
    }

    public void count(int increment) {
        if (counter < end) {
            counter += increment;
        }
    }

    public void count() {
        count(1);
    }
}

其他课程

public class CounterProgram {

    private Counter counter;

    public void init() {
        counter = new Counter(1, 3);
    }

    public void run() {
        System.out.println(counter);
        counter.count();
        System.out.println(counter);
        counter.count();
        System.out.println(counter);
        counter.count();
        System.out.println(counter);
    }

    public static void main(String[] args) {
        CounterProgram counterProgram = new CounterProgram();
        counterProgram.init();
        counterProgram.run();
    }
}

我不确定count(1)在方法public void count中的含义可以解释一下吗?谢谢你的时间!

4 个答案:

答案 0 :(得分:4)

count(1)是使用参数count1)调用int方法:

public void count(int increment)

答案 1 :(得分:1)

您的count()类中有两个Counter方法,每个方法都有不同的参数。其中一个是通用的;它可以将给定的增量值添加到内部counter变量的值。另一个是特定的,它应该仅counter增加1

因此,您的public void counter()方法可以通过调用它来使用更通用的public void counter (int increment),而不是重新实现自己的逻辑。

换句话说,您的counter()方法正在调用counter (int increment)以避免重复代码,这在高质量代码中非常重要。

答案 2 :(得分:0)

count(1)调用overloaded方法count(int increment),如果计数器小于end,则会将计数器值增加1。

答案 3 :(得分:0)

如果您是java新手,我建议您考虑使用自编译器。如果您使用的是NetBeans之类的任何IDE,或者您可以在调试模式下运行。 对于此代码:

  1. 首先public static void main(String[] args),因为每个程序都从main方法运行。
  2. 第二次在右侧CounterProgram counterProgram = new CounterProgram();创建类new CounterProgram();的对象,调用类的构造函数,因为未定义,所以为空
  3. 第三个init初始化计数值
  4. Forth run()现在在run方法中有多个命令可以在页面上进行演示。它仅在条件<end
  5. 时递增