【问题标题】:Can anyone point me in the direction of a GOOD java functions/objects/methods tut? [closed]谁能给我指出一个好的 java 函数/对象/方法 tut 的方向? [关闭]
【发布时间】:2012-12-23 05:26:42
【问题描述】:

我很难理解如何将我的程序拆分为更小的函数,而不是主函数中的一组代码。是的,我自己找了一个指南。我发现的那些要么没有帮助,要么让我更加困惑。谢谢:)

编辑: 我来自非常有限的 C++ 和 JavaScript 背景。

在 C++ 中,我可以简单地这样做:

int main () {
int x,y;

cin >> x >> y;
cout << addNum(x,y) << endl;
}

int addNum(num1,num2) {
return num1+num2;
}

我在java中迷失了。 :S

【问题讨论】:

  • 嗯,首先哪些对你没有帮助?列出它们并解释它们为什么没有帮助会有所帮助。
  • 鲍勃叔叔 - Clean Code.
  • @Fildor 我不记得这是非常技术性的。
  • @assylias 我猜 OP 需要一些更具体的帮助。就像“如果 x,y,z,则使其成为类,如果 a,b 或 c 则使其成为方法……”的形式。真正的基础。

标签: java object methods


【解决方案1】:

建议您从简单的开始,并在您的 IDE 中重构出方法。进行单元测试并重新编写代码以使其更清晰、更简单可以迭代地改进您的代码。

你可以用 Java 编写你的例子。

public class Main {
    public static void main(String... ignored) {
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt(), y = scanner.nextInt();
        System.out.println(addNum(x, y));
    }

    private static int addNum(int x, int y) {
        return x + y;
    }
}

虽然 Java 很冗长,但 IDE 可以帮助您编写大部分内容,因此您不必输入太多内容。

【讨论】:

    【解决方案2】:

    由于您来自 c++ 背景,我猜您错过了函数必须是类的一部分(可以说一切都是 java 中的对象)。

    class Math{
        int add(int x, int y){
         return x + y;
        }
    }
    

    然后创建一个 Math 实例并在该实例上调用 add()。您还可以将 add() 函数设为静态以避免创建实例

    例如在main方法中

    Math m = new Math();
    System.out.println(m.add(x,y));
    

    如果 add() 是一个静态函数,你会编写代码

    System.out.println(Math.add(x,y));
    

    正如许多其他人所建议的,您最好阅读一些关于 OOP 和 Java 的好书。我会推荐 Bruce Eckel 的 Thinking in Java。对于有 C++ 背景的人来说,这是一本好书。

    【讨论】:

      【解决方案3】:

      我认为您应该先阅读“面向对象编程”(不是书名,而是要搜索的内容......)。

      另一个好的开始是“设计模式”,但在您熟悉 OOP 的基础知识之后。

      关于 OOP 的一些参考资料:

      ...关于设计模式:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-26
        • 1970-01-01
        • 2014-07-02
        • 1970-01-01
        • 2015-01-22
        • 2021-09-12
        相关资源
        最近更新 更多