从另一个项目中的另一个类获取变量

时间:2015-10-22 16:33:10

标签: java netbeans client-server getter-setter

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

  项目A中的

我有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();
  

在Project B 1实现interface.java的java类中,让它给它一个名称(server.java),它导入所有java&项目A的接口类。

public void method() {
entity Entity = new entity();
Entity.Data_set(true);
Entity.Name_set("Someone");
}
  

在Project C 1 java主类中,让我们给它一个名称(main.java),它导入所有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();
  

我想要什么。   在我运行" main.java"   它应该低于

Boolean = true
Name = someone
  

但它显示了下面显示的差异值。

Boolean = false
Name = null

但如果我在" main.java"上设置实体不在server.java中,结果没有问题。

  

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

有没有解决方案。

感谢。

1 个答案:

答案 0 :(得分:2)

听起来好像您在Entity班级中创建了Server

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保持一致。