关于面向对象的一些问题

举个例子:
public class A{
private int a;
private int b;
//省略get和set方法
}
public class B{
private A a = new A();

public int aValue(){
//省略具体代码
a.setA(某值);
return a.getA();
}
public int bValue(){
//省略具体代码
a.setB(某值);
return a.getB();
}

public static void main(String[] args){
    Sytem.out.println("test");
    int a = aValue();
    int b = bValue();
    Sytem.out.println("a = "+a +",b = " +b);

}

}

最后输出的值都是0,不知该如何结果,请高人指点。

根据你的代码,大概猜测你是想测试A类的get方法吧。你的代码有语法错误,修正你的B类如下:

 public class B {
    private A a = new A();

    public int aValue() {
        // 省略具体代码
        a.setA(2);
        return a.getA();
    }

    public int bValue() {
        // 省略具体代码
        a.setB(10);
        return a.getB();
    }

    public static void main(String[] args) {
        System.out.println("test");
        B classB = new B();
        int a = classB.aValue();
        int b = classB.bValue();
        System.out.println("a = " + a + ",b = " + b);
    }

}

测试得到a,b就是你最终需要设置的值了。

        在一个面向对象的农场上有一头面向对象的母牛,母牛产面向对象的牛奶。那么,究竟是应当由面向对象的母牛向面向对象的牛奶发出“uncow yourself”消息,还是应当由面向对象的牛奶向面向对象的母牛发出“unmilk yourself”消息呢?      这听上去有点傻,但是却指出了一个很有意思的问题。在分析时,常常会尽可能的按照现实世界模拟。在设计过程中会把这个真实世界模型按照......
答案就在这里:面向对象代理类的问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

setA怎么写的,你都是省略天知道。
class B的初始化代码也没有。
怀疑你调用一次创建了一个新的B对象,继而创建了一个新的A对象。所以前面设置的值丢失了。