使用类添加两个数字

时间:2013-04-29 01:59:51

标签: java oop class

我是面向对象编程的初学者,我想编写简单的代码,使用对象将两个数字相加。这是我的主要部分:

package main;
public class Main {
 test sum = new test();
 System.out.println("sum="+sum.c);
}

这是我的班级:

package main;
public class test {

public int c;

public test() {
    int a = 1;
    int b = 1;
    int c = a + b;
}

public int c() {
    return c();
}
}

根据我的理解,它应该返回2,但它返回0.我做错了什么?感谢。

3 个答案:

答案 0 :(得分:5)

您使用具有相同名称c的本地变量隐藏方法中的c属性。只需删除变量的声明:

public test() {
    int a = 1;
    int b = 1;
    c = a + b;
}

此外,在c()方法中,您应该返回变量,而不是方法:

public int c() {
    return c;
}

答案 1 :(得分:2)

一些问题:

  • 您指定了int c = a + b;,但是您要重新声明变量,以便隐藏实例变量(仍为0),它应为c = a + b
  • 函数c()是无用的而且相当危险,因为它自己调用它(无限递归:StackOverflowException
  • 类应命名为大写(Test而不是test

答案 2 :(得分:1)

试试这个:

public class Test {

    int a = 1;
    int b = 1;
    int c = a + b;

    public int getC() {
        return c;
    }
}

而且:

public class Main {
    public static void main(String[] args) {
         Test sum = new Test();
         System.out.println("Sum = " + sum.getC());
    }
}

您的问题是您的整数是一种方法,这意味着它们仅在该方法中可用。同样要打印整数,你必须调用它,就像用()的方法调用方法一样。