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();
            }
  • 相关阅读:
    第六周学习总结
    20165227 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
    第五周学习总结
    20165227 20165228结对学习感想
    第四周课堂测试补做
    第四周作业
    20165227第三周学习总结
    第二周学习总结
    20165304《JAVA程序设计》第四周学习总结
    20165304 2017-2018-2 《Java程序设计》第3周学习总结
  • 原文地址:https://www.cnblogs.com/mohe/p/3284602.html
Copyright © 2011-2022 走看看