繁体   English   中英

使用 getter 和 setter 加载对象

[英]Loading an Object with getter and setter

我是 Java 对象的新手,我的问题是:

  • 我有类人
  • 我正在创建一个新的对象 person5
  • 我将 ID 设置为 5
  • 现在我希望在我的对象 person5 中,ID 为 5 的人拥有的所有信息都在对象 person5 中
  • 然后我想得到这个人的年龄5

当我调试我的代码时,只有 ID 设置为 5,所有其他变量都为空。

Person person5 = new Person();
person5.setID(5);
person5.getAge();


@Id @Column(name = "ID") 
private Integer id; 

@Column(name = "AGE") 
private Integer age; 

public Integer getId() { 
return id; 
} 

public void setId(Integer id) { 
this.id = id; 
} 

public Integer getAge() { 
return age; 
} 

public void setAge(Integer age) { 
this.age = age; 
}

我究竟做错了什么? 有人可以帮助我吗?

  1. 你没有向我们展示你的 getter 和 setter 函数
  2. Person person5 = new Person(); person5.setID(5); person5.getAge();替换你的代码Person person5 = new Person(); person5.setID(5); person5.getAge(); Person person5 = new Person(); person5.setID(5); person5.getAge();
  3. 你没有为这个人设定年龄。 既不在构造函数中也不作为person5.setAge(X)

这个问题很常见,您应该访问一些教程页面。 stackoverflow 不是其中之一。

Person person5 = new Person();

你创建了一个新人

person5.setID(5);

您决定新创建的人员的 ID 为 5。

person5.getAge();

由于您没有明确告诉 Java 更改构造函数设置的人的年龄,因此它会告诉您它被告知的内容,这没什么

现在我希望在我的对象 person5 中,ID 为 5 的人拥有的所有信息都在对象 person5 中

在这一点上,Java 不知道您在谈论哪个人 5。 如果您希望它具有相似人的所有属性,则必须告诉 Java 将所有这些属性设置到您的对象中,或者使用值(大概来自 DB)创建一个新属性。

在深入了解数据库连接等更深层次的概念之前,最好先澄清对 OOPS 的疑虑。

似乎您正在使用 JPA。 然后,从数据库中检索信息的正确方法不是简单地新建一个对象并设置 id,您必须通过EntityManager从数据库中获取它:

final Person person5 = em.find(Person.class, 5);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM