2 u012358469 u012358469 于 2015.06.29 20:18 提问

java新手的问题,看到很多类似的,下面麻烦高手详细解释一下我下面的程序

package cn.csdn.domain;

import java.io.Serializable;

public class User implements Serializable{
private int id;
private String username;
private String password;
private int age;
private String sex;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String username, String password, int age, String sex) {
super();
this.username = username;
this.password = password;
this.age = age;
this.sex = sex;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password="
+ password + ", age=" + age + ", sex=" + sex + "]";
}

}
请问上面的这些程序是什么意思,有什么作用

8个回答

u010989191
u010989191   2015.06.29 20:32
已采纳

定义了一个User对象并实现序列化接口。
public class User implements Serializable

自定义构造函数。
public User(String username, String password, int age, String sex) {
super();
this.username = username;
this.password = password;
this.age = age;
this.sex = sex;
}

内含以下成员变量。
private int id;
private String username;
private String password;
private int age;
private String sex;

并实现get和set方法。
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
......
该对象重写了Object类的toString()方法。
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", password="

  • password + ", age=" + age + ", sex=" + sex + "]"; } }
qq_29329775
qq_29329775   2015.06.29 20:26

封装了User类,提供了get和set访问器,重写了toString()方法。

ldqmz
ldqmz   2015.06.29 23:12

很简单,楼上是正解 !

u013762572
u013762572   2015.06.29 23:31

----一个JavaBean的基本构造:

私有属性:
xxx
共有方法:
get/set method
空的构造器/其它构造器

重写的重要方法:hashCode()/toString()/equals()

实现相应的接口: Serizable/clone/comparable/.....

yanglianquan3536
yanglianquan3536   2015.06.30 14:39

楼上说的很对!这是一个序列化的Java对象。
序列化Serizable一般用于将该类的对象持久化到存储设备,以备系统停机之后恢复。
一个Java对象相当于现实生活中的某个物体Object
private int id;
private String username;
....
这些便是这个物品的属性(人的ID,人的姓名)。
public User(String username, String password, int age, String sex) {
super();
...
}
这个是类的构造方法,构造方法的作用是用于在创建对象的时候,初始化类的成员变量。
super()是调用父类的构造方法。所有的Java类默认全部继承自基类Object,super便是调用Object类的构造方法
public Object(){
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
这个是类的getter/setter方法。提供该方法的目的是为了对外提供操作成员变量的接口,后期可以理解依赖注入等高级开发方式。
被private修饰的成员变量是不能直接修改的,必须通过setter方法修改其值。也不能被直接读取,必须通过getter方法读取其值。
toString()方法重写了Object类的toString()方法。
默认情况下,toString()输出对象在内存中的hash值(Object类)。重写了之后,会调用该类的toString()方法。
toString()方法一般用于提升Debugger的体验,所以输出的值一般是该类的关键成员变量信息。

另:呼吁每一位CSDN提问题的童鞋,能尽量反馈你们的理解结果,或者某个难题的解决结果,这样不仅能给回答者以鼓励和肯定,也会给后来的人提供便利。
希望可以提供帮助!

wsw_dota_IT
wsw_dota_IT   2015.07.01 11:22

user实体类嘛~跟泛型差不多啦~不用也罢

u010735684
u010735684   2015.07.01 16:23

来晚啦 楼上正解 这都是最初学习的时候 经常写的类 以后工作啦 这些都没啥用啦 只是一个类而已

miracle_yao
miracle_yao   2015.07.03 17:45

楼主网上补充下Java Bean的相关知识就明白了

Csdn user default icon
上传中...
上传图片
插入图片