Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编写在静态变量上实现的方法?_Java - Fatal编程技术网

Java 如何编写在静态变量上实现的方法?

Java 如何编写在静态变量上实现的方法?,java,Java,我是Java的新手。我的要求是创建一个具有静态变量ctr的程序。调用add方法时,此计数器应递增。请再创建一个静态变量,该变量将在每次调用subtract方法时递减 以下是我编写的代码:请建议逻辑的下一步 package com.corejava.stattest; public class StaticTest { public static void main(String[] args) { System.out.println(AddSubImpl.ad

我是Java的新手。我的要求是创建一个具有静态变量ctr的程序。调用add方法时,此计数器应递增。请再创建一个静态变量,该变量将在每次调用subtract方法时递减

以下是我编写的代码:请建议逻辑的下一步

    package com.corejava.stattest;

public class StaticTest {
    public static void main(String[] args) {
        System.out.println(AddSubImpl.addMethod());
        System.out.println(AddSubImpl.subMethod());
    }
}

class AddSubImpl {
    static int ctr = 100;

    public static int addMethod() {
        return ctr = ctr + 1;
    }

    public static int subMethod() {
        return ctr = ctr - 1;
    }
}

如果str是一个类字段,它不需要是静态的。一旦修改,它将保持不变

你问的是一个开放式问题,因此这里的人很难回答你任何问题

但是,请查看您的代码。有几件事你需要注意

您正在将多个任务混合到加法和减法中。您应该使用getter或setter

getter只负责检索值。看起来像这样:

public int getValue(){
    return value;
}
public void setValue(int value){
    this.value = value;
}
用于赋值的设置器。看起来是这样的:

public int getValue(){
    return value;
}
public void setValue(int value){
    this.value = value;
}
为什么您的加法和减法都返回值

如果不需要它们返回值。你的方法将是无效的

首先,你知道什么是静态变量吗?我建议你仔细阅读以下内容:

再创建一个静态变量,该变量将在每次调用subtract方法时递减


您不能在运行时创建变量。

实际问题是什么?问题是编写将静态变量值相加和相减的方法。我做得对吗?如果它不是静态的,就不能从静态方法引用它。但是他从来没有提到过他会调用静态方法。