泛型



package Class8;

import java.lang.reflect.Method;

/**
 * 泛型
 * 
 * 案例:反射
 * 通过反射机制,我们可以得到T这个类型的很多信息
 *   可以得到什么样的函数名称,返回类型,有什么成员变量等等很多信息
 * 泛型优点:
 *   1.类型安全
 *   2.向后兼容
 *   3.层次清晰
 *   4.性能较高
 * 
 */
public class Test2 {
 public static void main(String args[]){
  //根据给的类型  T 会变为这个类型
  
  Gen<String> gen2= new Gen<String>("a");
  Gen<Integer> gen1= new Gen<Integer>(11);
  Gen<Bird> gen3= new Gen<Bird>(new Bird());
  gen3.shouTypeName();
 }
}

class Bird{
 public void test1(){
  System.out.println("aa");
 }
 public void count(int a,int b){
  System.out.println(a+b);
 }
}

//T是我认为的一种类型 ,现在不知道是什么类型
class Gen<T>{
 
 private T o;
 public Gen(T a){
  o = a;
 }
 
 //得到T的类型名称
 public void shouTypeName(){
  System.out.println("类型是:"+ o.getClass().getName());
  //通过反射得到成员函数名
  Method []m = o.getClass().getDeclaredMethods();
  
  for(int i=0; i<m.length; i++){
   System.out.println(m[i].getName());
  }
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值