黑马程序员技术交流社区
标题:
javabean
[打印本页]
作者:
小飞龙
时间:
2012-7-19 16:23
标题:
javabean
JavaBean是一种特殊的Java类,主要用于传递数据信息。怎样传递数据的?谁给举例说明一下?
JavaBean还有其他什么用途吗?最好给个JavaBean的例子给我参考下
作者:
山水游客
时间:
2012-7-19 16:32
所谓的传递信息就是把数据封装到这个javabean对象中,比如你要传递一个学生,一个学生肯定会包含很
多信息,比较姓名,年龄,成绩等信息,如果分开一个一个传递是很麻烦的,所以就把这些信息封装成对
象来传递,这就是面向对象的开发
public class Student {
private String name;
private int age;
/* 无参的构造函数,因为下面的有参构造构造函数会覆盖掉默认的无参构造函数,如果不写就不能被反射
成功实例 */
public Student() {
}
/* 带参的构造函数,写了会覆盖掉默认的无参构造函数 */
public Student(String name, int age) {
this.name = name;
this.age = age;
}
/* 提供属性name的set方法 */
public void setName(String name) {
this.name = name;
}
/* 提供属性name的get方法 */
public String getName() {
return name;
}
/* 提供属性int的set方法 */
public void setAge(int age) {
this.age = age;
}
/* 提供属性age的get方法 */
public int getAge() {
return age;
}
}
作者:
郑义
时间:
2012-7-19 18:24
javabean实际上就是一个信息承载类。说的明白点,就是把你要用到的属性都封装到一个类中,然后对这个类进行操作的时候就睡容易些。这就是面向对象的思想。
比如拿一个简单的用户登录验证模块来讲。
首先我们要弄明白的就是,用户登录需要哪些信息,即用户名和密码。然后我们需要对用户名和密码写出对应的getter和setter方法,即
setXxx()
和
getXxx()
。
这两个方法用于对属性进行赋值和取值。
package cn.edu.imut.zy.bean;
public class User {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
复制代码
然后我们按照需求来进行验证,比如,我们需要从JSP页面中获取用户名和密码,并初始化一个User对象,用setName()和setPassword()方法来给这个对象name和password属性赋值。然后就是通过访问数据库等操作进行验证等。
总之我们是通过getter和setter方法来对一个对象的属性进行操作。
最简单的例子就是用户验证,你可以从网上搜一下代码,有很多。
关键是要理解面向对象的思想,就知道为什么要把这些属性封装到一起了。
作者:
张世威
时间:
2012-7-19 18:29
javabean,就是一个java类,不过这个类有很多要求,符合这些要求的就要javabean
必须满足的要求
1、
类要求
:这个类必须是公共类 public
2、
构造函数
:必须有一个无参的构造函数
3、
字段要求
:所有的实例字段必须私有
private
3、
字段读写
(方法):通过属性访问器getter和设置器setter来读写
4、
属性
:一个属性至少有一个getter或者setter,属性也就是方法了,不过这个方法的名称特殊:setXxx() 和 getXxx() (xxx为
字段的名称),这些属性必须都是public
更多的要求(不强制):
5、重写toString()方法:输出
6、实现
Serializable接口,可序列化
7、实现
Comparable接口,可对本类的所有对象排序
其实还有很多细节问题,听说sun的javabean规范书有100多页,很细,上面说的只是一个粗线条。
下面我写个例子
package p719;
import java.io.Serializable;
/**
* @author Administrator @zsw 2012-7-19 下午06:20:46
*/
public class Dog implements Serializable,Comparable<Dog>{
//字段
private String name;
private String color;
private int age;
//无参构造函数
public Dog(){
}
//属性:setter或者getter,注意这些属性的命名方式
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
/*
* 一下下三条不强制,一般不用(non-Javadoc)
*
*/
//重写tostring()
@Override
public String toString() {
//具体代码有你自己写
return "Dog [name=" + name + ", color=" + color + ", age=" + age + "]";
}
//实现 Serializable 接口,可序列化,Serializable是一个标记接口,
//实现Comparable接口,实现compareTo方法
@Override
public int compareTo(Dog o) {
//具体代码由你自己写
return 0;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2