zoukankan      html  css  js  c++  java
  • 什么是javaBean

      引:简单的说就是一个model.在MVC里的M.

      例:

    public class Person {
        private String name;
        private String age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        
    }

    这就是一个Javabean.用来封装数据的模型;

    一: 什么是Javabean的属性?

    需要注意的是

    private String name;
    name只是一个字段,没有提供settergetter方法的.只是字段;
    当添加了如下的方法
    public String getName() {
            return name;
        }
    name则是一个属性;

    二:下面有几个属性
    public class Person {
        private String name;
        private String age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        
        public int getId(int id){
            return id;
        }
    }

    答案是4个.除了name和age之外,Id也是一个属性,属性不需要有字段,只需要有提供geter或者setter方法就是一个属性;那么也只有3个!
    第四个怎么来的?
    我们都知道所有类都是Object的子类,Object是所有类的基类.

    查看Object源码,里面有有一个方法是:public final native Class<?> getClass();Class也是一个属性;

    三:下面是利用"内省"来验证:
    try {
                BeanInfo beanInfo = Introspector.getBeanInfo(Person.class);//获得BeanInfo,BeanInfo里封装的是Bean的所有属性
                PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();//获得属性,返回的是一个属性数组
                for(PropertyDescriptor p : propertyDescriptors ){//遍历属性数组
                    System.out.println( p.getName());//打印属性名字
                }
            } catch (IntrospectionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
  • 相关阅读:
    前端的一些工具
    ubuntu安装intelij idea 和pycharm
    广义欧几里得算法,求解形如ax+by=c的整数解
    Kali安装jdk8
    ARP 项添加失败: 拒绝访问
    Python扩展包,解决”unable to find vcvarsall.bat“
    python实现mschap2
    Ubuntu 安装 Corsaro v2.0.0 全过程
    使用GridFS上传下载图片以及其他文件
    Eclipse设置工作空间编码
  • 原文地址:https://www.cnblogs.com/mohe/p/3284602.html
Copyright © 2011-2022 走看看