任何人都可以指向一个GOOD java函数/对象/方法的方向吗?

时间:2013-01-09 07:56:13

标签: java object methods

我很难理解如何将程序拆分为较小的函数而不是主函数中的代码集。是的,我自己找了一个指南。我发现的那些没有帮助或进一步困扰我。谢谢:))

编辑: 我来自非常有限的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

3 个答案:

答案 0 :(得分:4)

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

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

关于OOP的一些参考文献:

......关于设计模式:

答案 1 :(得分: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 :(得分:0)

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

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

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

例如,在主要方法

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 ++背景的人来说,它是一本好书。