A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小飞龙 初级黑马   /  2012-7-19 16:23  /  1325 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JavaBean是一种特殊的Java类,主要用于传递数据信息。怎样传递数据的?谁给举例说明一下?
JavaBean还有其他什么用途吗?最好给个JavaBean的例子给我参考下

评分

参与人数 1技术分 +1 收起 理由
刘笑 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
所谓的传递信息就是把数据封装到这个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;

}

}
回复 使用道具 举报
所谓javabean,就是一个承载信息的类<class>,该类应包括存储信息的属性(存储信息)、有无参构造器(接受信息)、get\set方法(修改和提取信息),具体类,楼上已经贡献出来了。请楼主参考。希望能小小的帮助你。
回复 使用道具 举报
所谓javabean,就是一个承载信息的类<class>,该类应包括存储信息的属性(存储信息)、有无参构造器(接受信息)、get\set方法(修改和提取信息),具体类,楼上已经贡献出来了。请楼主参考。希望能小小的帮助你。
回复 使用道具 举报
javabean实际上就是一个信息承载类。说的明白点,就是把你要用到的属性都封装到一个类中,然后对这个类进行操作的时候就睡容易些。这就是面向对象的思想。
比如拿一个简单的用户登录验证模块来讲。
首先我们要弄明白的就是,用户登录需要哪些信息,即用户名和密码。然后我们需要对用户名和密码写出对应的getter和setter方法,即setXxx()getXxx()
这两个方法用于对属性进行赋值和取值。
  1. package cn.edu.imut.zy.bean;

  2. public class User {
  3.         private String name;
  4.         private String password;
  5.         public String getName() {
  6.                 return name;
  7.         }
  8.         public void setName(String name) {
  9.                 this.name = name;
  10.         }
  11.         public String getPassword() {
  12.                 return password;
  13.         }
  14.         public void setPassword(String password) {
  15.                 this.password = password;
  16.         }
  17.        
  18. }
复制代码
然后我们按照需求来进行验证,比如,我们需要从JSP页面中获取用户名和密码,并初始化一个User对象,用setName()和setPassword()方法来给这个对象name和password属性赋值。然后就是通过访问数据库等操作进行验证等。
总之我们是通过getter和setter方法来对一个对象的属性进行操作。
最简单的例子就是用户验证,你可以从网上搜一下代码,有很多。
关键是要理解面向对象的思想,就知道为什么要把这些属性封装到一起了。
回复 使用道具 举报

     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多页,很细,上面说的只是一个粗线条。
          下面我写个例子
  1. package p719;

  2. import java.io.Serializable;

  3. /**
  4. * @author Administrator @zsw 2012-7-19 下午06:20:46
  5. */
  6. public class Dog implements Serializable,Comparable<Dog>{
  7.         //字段
  8.         private String name;
  9.         private String color;
  10.         private int age;
  11.        
  12.        
  13.         //无参构造函数
  14.         public Dog(){
  15.                
  16.         }

  17.        
  18.         //属性:setter或者getter,注意这些属性的命名方式
  19.         public String getName() {
  20.                 return name;
  21.         }

  22.         public void setName(String name) {
  23.                 this.name = name;
  24.         }

  25.         public String getColor() {
  26.                 return color;
  27.         }

  28.         public void setColor(String color) {
  29.                 this.color = color;
  30.         }

  31.         public int getAge() {
  32.                 return age;
  33.         }

  34.         public void setAge(int age) {
  35.                 this.age = age;
  36.         }

  37.         /*
  38.          * 一下下三条不强制,一般不用(non-Javadoc)
  39.          *
  40.          */
  41.         //重写tostring()
  42.         @Override
  43.         public String toString() {
  44.                 //具体代码有你自己写
  45.                 return "Dog [name=" + name + ", color=" + color + ", age=" + age + "]";
  46.         }


  47.        
  48.        
  49.         //实现 Serializable 接口,可序列化,Serializable是一个标记接口,
  50.        
  51.        
  52.         //实现Comparable接口,实现compareTo方法
  53.         @Override
  54.         public int compareTo(Dog o) {
  55.                 //具体代码由你自己写
  56.                 return 0;
  57.         }
  58.        
  59.        
  60.        
  61.        

  62. }
复制代码

评分

参与人数 1黑马币 +30 收起 理由
程潇 + 30 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马