求助java泛型重写的语法问题

查看:90
本文介绍了求助java泛型重写的语法问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

刚接触java,对java的语法还不够了解,望大神解答一下:

 private static final ThreadLocal<Boolean> publishing = new ThreadLocal<Boolean>()
 {
    protected Boolean initialValue()
    {
        return Boolean.FALSE;
    }
 };

这种写法我在网上查了一下,匿名内部类可以这样写,但ThreadLocal只是一个普通类而已,为什么可以这样写?跟泛型有什么关系吗?

解决方案

什么类都可以写泛型,泛型的大概意思就是我不太确定我要传入什么类,不过又不想传入Object,然后强制转换,因此加入泛型,保证传入的类型能自己控制而且清楚明白。

其实你上面列举的例子是重新写过的,而非是类定义的方法

public class ThreadLocal<T>{
    protected T initialValue() {
        return null;
    }
}

这是定义的方法,传递T,然后返回T,T在你重写的例子就是Boolean

这篇关于求助java泛型重写的语法问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆