从另一个项目中的另一个 class 获取变量
Get variable from another class within another project
我有 3 个项目。 (并忽略所有与数据库的连接和注册表与计算机的连接)。项目 A = API(java 库),项目 B = Java Class(服务器),项目 C = Java Class(客户端) .
in Project A I have 1 java class for entity , lets say (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;
}
in Project A, I have 1 Interface , lets say (interface.java)
public void method();
in Project B 1 java class which implements interface.java, lets give it a name (server.java) which import all java & interface class on project A.
public void method() {
entity Entity = new entity();
Entity.Data_set(true);
Entity.Name_set("Someone");
}
in Project C 1 java main class, lets give it a name (main.java) which import all java & interface class on project 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();
WHAT I WANT.
After I run "main.java"
It should be below
Boolean = true
Name = someone
but it show difference value it show below.
Boolean = false
Name = null
但是如果我在 "main.java" 上而不是在 server.java 上设置实体,结果就没有问题。
NOTE for connection database and connection between client-server there are no problem.
有什么解决办法吗?
谢谢。
听起来好像您在 Server
class:
中创建了一个 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.
我有 3 个项目。 (并忽略所有与数据库的连接和注册表与计算机的连接)。项目 A = API(java 库),项目 B = Java Class(服务器),项目 C = Java Class(客户端) .
in Project A I have 1 java class for entity , lets say (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;
}
in Project A, I have 1 Interface , lets say (interface.java)
public void method();
in Project B 1 java class which implements interface.java, lets give it a name (server.java) which import all java & interface class on project A.
public void method() {
entity Entity = new entity();
Entity.Data_set(true);
Entity.Name_set("Someone");
}
in Project C 1 java main class, lets give it a name (main.java) which import all java & interface class on project 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();
WHAT I WANT. After I run "main.java" It should be below
Boolean = true
Name = someone
but it show difference value it show below.
Boolean = false
Name = null
但是如果我在 "main.java" 上而不是在 server.java 上设置实体,结果就没有问题。
NOTE for connection database and connection between client-server there are no problem.
有什么解决办法吗?
谢谢。
听起来好像您在 Server
class:
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.