Object1的属性具有Object1

时间:2018-11-23 07:39:35

标签: java oop object

这是不好的做法吗?

Object1是Object的实例化版本。

Object1具有一个称为“ Example2”的属性,它也是一个对象。 Example2对象具有一个Object,而该对象是Object1。

例如

Example2 example = new Example2(this);

将其存储为对象变量的地方。

很抱歉,如果我不解释自己。这使Google真的很难。

谢谢!

1 个答案:

答案 0 :(得分:1)

通常这不是一个坏习惯,但是我认为这是值得研究的代码味道。我这样做的原因是,这听起来可能会打破关注点的分离:您的Example类显然需要this所引用的类中的某些内容,例如

class MyService {
    private Controller controller;

    public MyService() {
        controller = new MyController(this);
    }
}

引用服务的控制器很常见,但反之则少得多。

我肯定有有效的示例,但是我想说循环引用通常不是一个好兆头。