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();
            }
  • 相关阅读:
    Oracle 手工清除回滚段的几种方法
    Oracle dump undo 说明
    Oracle ORA_ROWSCN 伪列 说明
    Oracle 10.2.0.4 高负载 触发 ORA00494 错误
    Oracle Block scn/commit scn/cleanout scn 说明
    Oracle 游标(cursor) 说明
    Oracle 10g Toad查看 表空间 报错 ORA00600 internal error code arguments [ktfbhget4], [6], [5]
    Oracle Block scn/commit scn/cleanout scn 说明
    Oracle 监听(Listener) 中 services 说明
    Oracle 游标(cursor) 说明
  • 原文地址:https://www.cnblogs.com/mohe/p/3284602.html
Copyright © 2011-2022 走看看