Java泛型类型

泛型类型

泛型是类和接口的一种扩展机制,主要实现参数化类型机制,简单地说,泛型是带一个参数或多个参数的类或者接口。

1.下面定义一个带一个参数的泛型类型,并调用相应在这里插入代码片的方法实现。

//含有一个类型参数的泛型类型
public class Node <T>{
    private T value ; //泛型成员
    public Node(){} //默认构造方法
    public Node(T value){ //带一个参数的构造方法
        this.value = value ;
    }
    public T get(){ //访问方法
        return value ;
    }
    public void set(T value){ //修改方法
        this.value = value ;
    }
    public void showType(){  //显示类型名的方法
        System.out.println("T的类型名:" + value.getClass().getName()) ;
    }

    public static void main(String[] args){
        Node <Integer> node = new Node<>()  ; //实例化泛型对象
        node.set(new Integer(3)) ; //设置泛型对象的值
        System.out.println(node.get()) ; //输出访问对象的值
        node.showType() ; //输出泛型的类型
        Node <Integer> node1 = new Node<>(new Integer(1)) ;
        System.out.println(node1.get()) ;
        node1.showType() ;
    }
}

2.下面定义一个带一个参数的泛型类型实现一个接口。

//含有两个类型参数的泛型类型
interface Entry<K,V>{ //泛型接口
    public K getKey() ;
    public V getValue() ;
}
public class Pair <K,V> implements Entry<K,V>{//泛型类Pair实现泛型接口Entry
    private K key ; //泛型成员
    private V value ;
    public Pair(){}
    public Pair(K key, V value){ //带两个参数的构造方法
        this.key = key ;
        this.value = value ;
    }
    @Override
    public K getKey() { //访问键的方法
        return key;
    }

    @Override
    public V getValue() { //访问值的方法
        return value;
    }
    public void setKey(K key){ //修改键的方法
        this.key = key ;
    }
    public void setValue(V value){ //修值的方法
        this.value = value ;
    }
    public void print(){ //自定义的得到键和值的方法
        System.out.println(getKey() + " " + getValue()) ;
    }
    public static void main(String[] args){
        Pair <String,Integer> p1 = new Pair<>() ;//实例化泛型对象p1
        p1.setKey("twenty") ; //修改键
        p1.setValue(20) ; //修改值
System.out.println(p1.getKey() + " " + p1.getValue()) ; //访问p1对象的键和值
 Pair <String,String> p2 = new Pair<>("China","Beijing") ; //实例化泛型对象p2
        p2.print(); //调用print()方法打印键值对
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nuist__NJUPT

给个鼓励吧,谢谢你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值