2015-10-22 168 views
1

我有3个项目。 (并忽略所有连接到数据库和注册表到计算机)。项目A = API(Java库),项目B = Java类(服务器),项目C = Java类(客户端)。从另一个项目中的另一个类获取变量

在项目AI对实体1个Java类,可以说(entity.java)

private Boolean data; 
private String name;  
public void Data_set(Boolean data){ 
this.data = data; 
} 
public void Name_set(String name){ 
this.name = name 
}   
public Boolean Data_get() { 
return data; 
} 
public String Name_get() { 
return name; 
} 
在项目A

,我有1接口,可以说(interface.java)

public void method(); 
在项目B 1周的java

它实现interface.java类,允许给它一个名字(server.java)的导入项目A.所有Java &接口类

public void method() { 
entity Entity = new entity(); 
Entity.Data_set(true); 
Entity.Name_set("Someone"); 
} 
在项目C 1个java的主类

,让我们给它名字(main.java)的导入项目A.

server Server = new server(); 
Server.method(); 
entity Entity = new entity(); 
System.out.print("Boolean = "Entity.Data_is(); 
System.out.print("Name = "Entity.Name_get(); 

我想所有的Java &接口类。 我跑后“main.java” 应低于

Boolean = true 
Name = someone 

但它显示差值低于它显示。

Boolean = false 
Name = null 

,但如果我的“main.java”不server.java结果集实体有没有问题。

注意连接数据库和客户端服务器之间的连接没有问题。

有没有解决方案。

谢谢。

回答

1

,如果你在Server类创建Entity这听起来:

class Server implements Interface { 
    private Entity entity; 

    public void method() { 
     entity = new Entity(); 
     entity.setName(...); 
     entity.setData(...); 
    } 
} 

但是,而不是打印该实体的细节,为您创造一个新的,从来没有打印的细节到一个(你分配给它的任何细节):

class Main { 
    public static void main(String[] args) { 
     Server server = new Server(); 
     server.method(); 

     Entity entity = new Entity(); 
     //print entity 
    } 
} 

什么,你应该做的是抓住从服务器实体:

class Main { 
    public static void main(String[] args) { 
     Server server = new Server(); 
     server.method(); 

     Entity entity = server.getEntity(); 
     //print entity 
    } 
} 

class Server { 
    private Entity entity; 

    public void method() { 
     entity = new Entity(); 
     entity.setName(...); 
     entity.setData(...); 
    } 

    public Entity getEntity() { 
     return entity; 
    } 
} 

正如您可能已经注意到的那样,我使用了与您使用的不同的大写字母样式。我使用的大写形式是人们在编写Java时通常使用的编码约定。语言有自己的风格,最好保持与language's choice of style一致。

+0

谢谢这一个是帮助! :D .. 我只是在与服务器相同的类上添加新的getter,并在另一个项目中的另一个类上获取该getter。 但不知何故,我想知道是否有办法从server.java旁边的另一个类获取并从另一个类获得另一个项目。 –

+0

@DenniS查看[我的依赖注入答案](http://stackoverflow.com/questions/32745685/avoiding-static-methods-and-variables-in-a-java-class-file-that-handles-config -p/32745849#32745849)这似乎是回答类似的问题,并让我知道它是否有帮助。如果不是,我会更新我的答案 –

相关问题