2015-10-22 213 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)這似乎是回答類似的問題,並讓我知道它是否有幫助。如果不是,我會更新我的答案 –

相關問題