java 泛型

转载:
https://www.cnblogs.com/zhaoyunlong/p/13042422.html

    /**
     * Description:开发一个泛型Apple类,要求有一个重量属性weight在测试类中实例化不同的泛型对象,要求对象a1的这一属性是String类型,
     * 对象a2的这一属性是Integer型,a3的这一属性是Double型。
     * 分别为a1,a2,a3的重量属性赋值为:”900克”,900,900.0,在测试类中通过对象调用访问器得到属性值并输出。
     * 另外思考,为什么a2和a3的属性需要是Integer和Double而不是int和double?

     * return
     * Author:     ralph
     **/
    @Test
    public void Test2(){
        Apple<String> a1 = new Apple<>("900克");
        Apple<Integer> a2 = new Apple<>(900);
        Apple<Double> a3 = new Apple<>(900.0);
        System.out.println(a1.getWeight());
        System.out.println(a2.getWeight());
        System.out.println(a3.getWeight());
    }

    
}

class Apple<RAL>{
    private RAL weight;

    public RAL getWeight() {
        return weight;
    }

    public void setWeight(RAL weight) {
        this.weight = weight;
    }

    public Apple(RAL weight) {
        this.weight = weight;
    }

    public Apple() {
    }

    @Override
    public String toString() {
        return "Apple{" +
                "weight=" + weight +
                '}';
    }
}

自己定义一个泛型接口,其中有一个eat方法。用一个Person类实现这个接口,传入的泛型实参是String类型,实现的方法内容自己定义,最后在main中调用eat方法。

    @Test
    public void Test3(){
        Demo<String> demo = new Person();
        String str = demo.eat("吃饭");
        System.out.println(str);
    }

}


interface Demo<T>{
    public T eat(T t);
}

class Person implements Demo<String>{
    @Override
    public String eat(String s){
        return s;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值