zoukankan      html  css  js  c++  java
  • 学习java之泛型类和泛型方法

      上一篇博文中我自己试着用了下泛型类,昨天看java编程思想一书,发现里面有这么一段话:

    使用参数化方法而不是用参数化类的方便之处在于:你不必为需要应用的每种不同类型都使用一个参数去实例化这个类,并且你可以将其定义为静态的。当然,你不能总是选择使用参数化方法而不是参数化类,但是它应该成为首选。

      这句话有三层意思:

      1)参数化类每次实例化的时候都需要调入每种类型。

      2)参数化方法可以定义成静态的。作为一个初学者我是这么理解的,能被参数化的方法必定是getXXX之类的这种,而且在调用方法的时候会传参进来,所以不会对类中的域产生影响,所以可以定义为静态的,方便调用。

      3)参数化方法虽然是首选,但二者选择用谁还要视情况而定。

      参数化类:

    class Test<T> {
        private T t;
        public Test (T t) {
            this.t = t;
        }
        public T get() {
            return t;
        }
    }

      参数化方法:

    class Test {
        public static <T> T get(T t) {
            return t;
        }
    }

      二者调用的区别:

    //参数化类的调用
    Test<Integer> num = new Test<Integer>(6);
    Test<String> str = new Test<String>("6");
    System.out.println(num.get());
    System.out.println(str.get());
    //参数化方法的调用
    Integer num = 6;
    String str = "6";
    System.out.println(Test.get(num));
    System.out.println(Test.get(str));

      如果使用参数化类的方法,类中必须要有重载的构造方法;而参数化方法的方法,调用就非常轻松了。

  • 相关阅读:
    ok6410 u-boot-2012.04.01移植六完善MLC NAND支持
    Apache XAMPP Fails to start under Windows XP
    Gridview导出到Excel
    PKU 1511 Invitation Cards (SPFA+邻接表)
    等待队列(二)
    HDU--杭电--1253--胜利大逃亡--广搜
    Java菜鸟学习笔记--Exception篇(一):异常简介
    jquery的DOM操作
    Windows下Postgre SQL数据库通过Slony-I 实现数据库双机同步备份
    POJ 2418 ,ZOJ 1899 Hardwood Species
  • 原文地址:https://www.cnblogs.com/RainingDays/p/3518441.html
Copyright © 2011-2022 走看看