关于Java中的对象/类实例

时间:2016-02-12 17:46:44

标签: java oop object methods instance

考虑以下情况:

TRIM

methodB会使用与方法A相同的“obj”实例吗?如果没有,那么如何改变代码才能实现呢?

我为这样一个基本问题道歉,但是自从我开始学习java以来​​,即使在网上进行了无数次搜索之后,这个概念仍然不清楚。

3 个答案:

答案 0 :(得分:3)

如果您想要将其可视化,您只需打印该对象即可查看该哈希:

public class ClassA {

    private Main main;
    Object obj = new Object;

    public void setMain(Main main) {
        this.main = main;
    }
    methodA() {  //called first
        System.out.println(obj); //you should see the same hash as in methodB
        obj.someFunction();
        main.someFunction();
    }
    methodB() {  //called second
        System.out.println(obj); //you should see the same hash as in methodA
        obj.someOtherFunction();
    }
}

答案 1 :(得分:2)

Java不会改变你背后的物体。

答案 2 :(得分:0)

如果您的测试用例是:

ClassA objectA = new ClassA(new Main());
objectA.methodA();
objectA.methodB();

在调用methodA()然后methodB()之间没有任何内容会改变obj实例变量的值,然后是,他们都会使用相同的obj实例