A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 心在左边跳 中级黑马   /  2015-7-7 23:15  /  317 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

泛型类定义的泛型,在整个类中有效,如果被方法使用,泛型类对象明确要操作的具体类型后,所有要操作的类型就固定了。

  1. public class Demo<T> {
  2.     public void show(T t){
  3.         System.out.println("show:"+t);
  4.     }
  5.     public static void main(String[] args) {
  6.         // TODO Auto-generated method stub
  7.         Demo<String> d =new Demo<String>();
  8.         d.show("a");
  9.     }
  10. }
复制代码

为了让不同方法操作不同类型,而类型不确定,可以讲泛型定义在方法上。

  1. public class Demo1 {
  2.     public <T> void  show(T t){
  3.         System.out.println("show:"+t);
  4.     }
  5.     public static void main(String[] args) {
  6.         // TODO Auto-generated method stub
  7.         Demo d =new Demo ();
  8.         d.show("a");
  9.         d.show(4);
  10.     }
复制代码
  1. 静态方法不可以访问类定义的泛型。如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上。
复制代码

  1. public class Demo<T> {
  2.     public void show(T t){
  3.         System.out.println("show:"+t);
  4.     }
  5.     public static<W> void method(W t) {
  6.         System.out.println(t);
  7.     }
  8.     public static void main(String[] args) {
  9.         // TODO Auto-generated method stub
  10.         Demo<String> d =new Demo<String>();
  11.         d.show("a");
  12.         d.method(4);
  13.     }
  14. }
复制代码




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马