2014-05-04 115 views
0

我一直在寻找有关在一个类中创建对象的实例并在不同类中使用同一个实例的互联网。我还没有找到任何帖子,尽管这适用于我想要做的事情。这是我想要做的一个例子。创建一个对象的实例并在不同的类文件中使用相同的实例


public class ThisClass{ 
    public ThisClass{ 
    //This is the object I want to create 
    } 
} 

public class FirstClass{ 
    public ThisClass thisclass = new ThisClass(); 
} 

public class SecondClass{ 
    //Now in SecondClass I want to be able to access the instance of ThisClass 
    //I created in FirstClass 
} 

任何想法就做什么在这里,不会太复杂,使代码的噩梦来看待?

+0

为什么不创建一个实例ThisClass并将其传递到的Firstclass和二等作为其构造的一部分,或者对ThisClass的方法,可以返回一个指定的实例?这一切都假设你实际上并不想要一个单身人士 – Leon

+0

你是否希望在你的应用程序中有多于一个'ThisClass'实例? –

+0

'SecondClass fred = new SecondClass(); fred.setFirstInstance(thisclass)' – francis

回答

0

三种解决方案进入了我的脑海:

  1. ThisClass - 这样你将永远无法实例化类的多个ThisClass类型。
  2. 创建一个实例ThisClass类型并将其通过构造函数传递给所有其他类。
  3. 创建一个抽象类/接口它包含一个类型为ThisClass的静态实例变量,然后在您希望具有相同ThisClass实例的类中扩展/实现此抽象类/接口。
0

这里有一种方法:

public class ThisClass { 
    public ThisClass() { 
     // This is the object I want to create 
    } 
} 

public class FirstClass { 
    private ThisClass thisClass = new ThisClass(); 

    public ThisClass getThisClass() { 
     return thisClass; 
    } 

} 

public class SecondClass { 
    //Now in SecondClass I want to be able to access the instance of ThisClass 
    //I created in FirstClass 
    private ThisClass thisClass; 

    public SecondClass(ThisClass thisClass) { 
     this.thisClass = thisClass; 
    } 
} 

public class ThirdClass { 
    public ThirdClass() { 
     new SecondClass(new FirstClass().getThisClass()); 
    } 
} 
相关问题