GenericAction<T,PK extends  Serializable>
这里为什么要这么写?T,PK 分别是什么意思?这么写有什么好处?
麻烦大家给我解释下,谢谢!

解决方案 »

  1.   

    T,PK是一个类型占位符,是一个“泛型”,泛型就是说不确定的,抽象的,直到你程序运行起来才知道这个是什么。所以先放两个占位符,你的类里面可以用他们。这里的意思就是,声明两个类型占位符,他们必须是继承自Serializable的(如果没有继承就会无法编译)
      

  2.   

    楼上正解;PK要是 Serializable的,
      

  3.   

    T,PK 是可以随意命名的吧?没有什么要求吧?还有具体为什么不实现Serializable,会编译不通过?
      

  4.   


    可以随意命名的,这里只是占位符,理解起来你可以类比一下变量的声明。JDK1.5以后提供对泛型的支持,这是他定下来的规矩,所以编译器会对你的代码进行检查,如果没有实现Serializable就不让你编译通过。就相当于你定义一个int,编译器就不许你把个字符串赋值给它一个道理。
      

  5.   

    PK extends  Serializable
    表示PK这个类型要实现Serializable,要不然会报错的
      

  6.   

    语法:<T extends parentClass> 
    这里,T为泛型类型,extends 关键字限制泛型类型必须是parentClass的后代。parentClass 指定父类的类型,也可以是接口
      

  7.   

    这里为什么要这么写?T,PK 分别是什么意思?这么写有什么好处?1、泛型类的定义格式:类名后加<T>;2、T、PK的规范叫法是类型参数;3、泛型的好处是:提高程序的可读性;增强代码的安全性;代码可以被不同类型的对象所重用;
      

  8.   

    建议楼主还是系统的看下  泛型这方面的相关资料!毕竟这是JDK1.5以来出的非常重要的一个技术!
      

  9.   

    PK extends Serializable
    表示PK这个类型要实现Serializable,要不然会报错的
      

  10.   

    嗯。 Thinking in java 这本书里,泛型讲的非常的好,建议看看。