Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用getter和setter加载对象_Java_Object_Methods_Getter Setter - Fatal编程技术网

Java 使用getter和setter加载对象

Java 使用getter和setter加载对象,java,object,methods,getter-setter,Java,Object,Methods,Getter Setter,我是Java对象新手,我的问题是: 我有班上的人 我正在创建一个新的对象person5 我正在将ID设置为5 现在我想在我的对象person5中,所有的信息都是 ID 5有,都在对象person5中 然后我想知道这个人的年龄 当我调试代码时,只有ID被设置为5,所有其他变量都为空 Person person5 = new Person(); person5.setID(5); person5.getAge(); @Id @Column(name = "ID") private Inte

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

  • 我有班上的人
  • 我正在创建一个新的对象person5
  • 我正在将ID设置为5
  • 现在我想在我的对象person5中,所有的信息都是 ID 5有,都在对象person5中
  • 然后我想知道这个人的年龄
当我调试代码时,只有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; 
}
我做错了什么?有人能帮我吗

  • 您没有向我们显示getter和setter函数
  • 将代码替换为
    Person-person5=新人();
    人5.setID(5);
    person5.getAge()
  • 你没有为这个人设定年龄。既不在构造函数中,也不在as
    person5.setAge(X)
  • 这个问题很常见,您应该访问一些教程页面。stackoverflow不是一个

    Person person5 = new Person();
    
    你创造了一个新的人

    person5.setID(5);
    
    您决定新创建的人员的ID为5

    person5.getAge();
    
    由于您没有明确告诉Java更改构造函数设置的人的年龄,它会告诉您所告诉的内容,即

    现在我想在我的对象person5中包含ID为5的人所拥有的所有信息,都在对象person5中

    在这一点上,Java对您所谈论的人一无所知。如果您想让它拥有一个相似的人的所有属性,那么您必须告诉Java将所有这些属性设置到您的对象中,或者使用值创建一个新的属性(可能来自DB)


    在深入研究DB连接等更深入的概念之前,最好先消除对OOPS的疑虑。

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

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

    您想从数据库中检索信息吗?是的,信息来自数据库。因此,您需要了解JDBC和/或JPA。这太宽泛了。查找教程并阅读。这样您就可以使用sql:select*从persontable中检索数据,其中id=5Flyweight对象,呃。您需要以从数据库读取所需数据的方式实现
    setID
    。不过,我并不建议这样做,因为那样的话,该对象可能承担了比严格要求更多的责任。我希望您使用
    findById
    方法创建一些
    PersonRepository
    类,该类将返回一个
    Person