【问题标题】:Get variable from another class within another project从另一个项目中的另一个类获取变量
【发布时间】:2015-10-22 16:33:10
【问题描述】:

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

在项目 A 中,我有 1 个用于 entity 的 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();

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

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

在 Project C 1 java 主类中,我们给它起一个名字 (main.java),它会导入项目 A 上的所有 java 和接口类。

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 中,结果没有问题。

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

有什么解决办法。

谢谢。

【问题讨论】:

    标签: java netbeans client-server getter-setter


    【解决方案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保持一致。

    【讨论】:

    • 谢谢这个帮助我!! :D .. 我只是在与服务器相同的类中添加新的 getter,然后在另一个项目的另一个类中获取它。但不知何故,我想知道是否有办法从 server.java 旁边的另一个类获取并从另一个项目的另一个类获取它。
    • @DenniS 查看my answer on Dependency Injection,这似乎正在回答类似的问题,如果有帮助,请告诉我。如果没有,我会更新我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多