黑马程序员----JAVA基础之泛型和javabean

------ android培训java培训、期待与您交流! ----------



一 泛型 


(1)什么是泛型

      泛型是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。不确定的类型,泛型是jdk5后的新特性。

 (2)泛型的好处:
      A:将问题移到了编译时期.
      B:不需要在进强制转装换了.
      C:优化了代码设计.

(3)泛型在集合中的使用

 //Collection c = new ArrayList();
        //List c = new ArrayList();
        //ArrayList array = new ArrayList();
        ArrayList array = new ArrayList();
        array.add(new Student("lili",20));
        array.add(new Student("tom",25));
        array.add(new Student("jack",23));
        Iterator it = array.iterator();
        while(it.hasNext())
        {
            Student s = it.next();
            sop(s.getName()+"***"+s.getAge());
        }

(4)泛型通配符

    ? 是一个类型通配符。它读作“问号”。

void printList(List l) {
for (Object o : l)
System.out.println(o);
}

  上面代码中的问号是一个类型通配符。它读作“问号”。List 是任何泛型 List 的父类型,所以您完全可以将 List、List 或 List>> 传递给 printList()。


 (4)自定义泛型

      自定义泛型前要先声名,声名分两种:

      自定义在方法上,:那么就定义泛型在返回值的前面,对这个方法有效

      如果定义在类名后面,那么就对整个类有效,下面再用的时候就不用声名了.

      注意,泛型只适用于对象,不可以用基本数据类型


二 javabean

(1)什么是javabean?

JavaBeanJavaEE开发中的主要作用是封装数据。

一般定义这个包:domain

记住: 字段与属性 与方法的区别

private String province;----字段

//getProvince的get去掉,P改成小写,成了provice,叫属性,这个是provice的get属性

public String getProvince() {

return province;

}

//setProvince的set去掉,P改成小写,成了provice,叫属性,这个是provice的set属性

public void setProvince(String province) {

this.province = province;

}

//这个叫方法

public void method() {

System.out.println("方法");

}

(2)JSP中操作JavaBean的动作元素:

(一)

作用:在指定的域范围内查找指定名称的对象,若不存在,创建一个。

属性:

id:查找的名称

class:类型。全类名

scope:范围。默认是page。可选值:page|request|session|application

注意:如果有标签主体内容,那么只有在创建对象时才会显示。

 

标签主体内容//这个内容只有在创建对象时才会显示。

    

    <%--标签的原理

    com.itheima.domain.Person p = null;

    synchronized(this){

    

    p = (com.itheima.domain.Person)pageContext.getAttribute("p",PageContext.PAGE_SCOPE);

     if(p==null){

    pageContext.setAttribute("p",new com.itheima.domain.Person(),PageContext.PAGE_SCOPE);

     }

    }

    --%>

(二)

作用:设置属性。调用setter方法。类型的自动转换,仅限基本类型

属性:

property:属性名称,对应的setter方法。请求参数时支持通配符*.前提请求参数的名称和属性一致

name:域对象中的名称

A: value:设置的值。

property:表示要修改的属性去掉前面的set或get name表示象名 value表示值.

明月姐"/>

    

<%=p.getName()%>

     <%=p.getAge()%>

B: param:请求参数名称填充属性的值。

就是用Url的?后面的与param属性值对应的value值去设.

     

     

C: 如果用通配符:

以下一句相当于上面两句,把求参数的名称和属性一致的全部赋值

(三)

作用:获取属性。调用getter方法。把结果输出到页面上。如果为空对象,则输出null。

只需要两个参数,属性名和对象名

      

      

JavaBean的特点:

称之为VO:Value Object。DO:Data Object。POJO:Plain Object Java Object?

0、类声明为public的。

1、有默认的构造方法。无参的构造方法。

2、所有的字段都是私有的。 Field

3、提供对外的getter或setter方法。只有getter方法的字段,只读字段。

private String name;

public String getName(){//name字段的读属性

return name;

}

public void setName(String name){//name字段的写属性

this.name = name;

}

------ android培训java培训、期待与您交流! ----------


你可能感兴趣的:(黑马程序员----JAVA基础之泛型和javabean)