A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈云帆 中级黑马   /  2012-7-16 16:51  /  2208 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈云帆 于 2012-7-18 08:14 编辑

class Utils<QQ>
{
private QQ q;
public void setObject(QQ q)
{
  this.q=q;
}
public QQ getObject()
{
  return q;
}
}


这段代码,不是太明白,谁能详细的讲解下,视频上我也没听明白,卡克了

7 个回复

倒序浏览
本帖最后由 陆鹏 于 2012-7-16 17:28 编辑

class Utils<QQ>
{
private QQ q;
public void setObject(QQ q)
{
  this.q=q;
}
public QQ getObject()
{
  return q;
}
}

       初期你不明白的话,你可以把泛型的<QQ>理解为变量,那变量怎么赋值呢?类的泛型变量就是在建立对象的时候赋值。
比如你要建立对象,因为在上面的类中定义了泛型,泛型QQ没有指定是哪种类型,所以建立对象的时候要指明泛型是哪种类型。
如: Utils<String> test = new Utils<String>(); 等同于你的代码所有的QQ都被String赋值,就变成了这样。
class Utils
{
private String q;
public void setObject(String q)
{
  this.q=q;
}
public String getObject()
{
  return q;
}
}
当然,既然上述泛型的<QQ>看做一个变量,赋值不一定是String。

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
同意楼上
回复 使用道具 举报
陆鹏 发表于 2012-7-16 17:26
初期你不明白的话,你可以把泛型的理解为变量,那变量怎么赋值呢?类的泛型变量就是在建立对象的时 ...

你都十二分了,我还一分 给我几次拿技术分的机会呗
回复 使用道具 举报
  1. class Utils<QQ>
  2. {
  3. private QQ q;//声明了一个QQ类型的变量,变量名为q。你把QQ看做跟String,int类型一样的就可以。
  4. public void setObject(QQ q)//调用这个方法,必须先实例化一个QQ类型的对象,当做这个方法的参数。
  5. {
  6.   this.q=q;//把调用这个方法实例化的QQ对象 赋值给这个类的QQ类型的变量q。
  7. }
  8. public QQ getObject() //这个方法的返回值是QQ类型的,必须申明一个QQ类型的变量才能接受。比如说QQ q1=getObject();
  9. {
  10.   return q;
  11. }
  12. }
复制代码
回复 使用道具 举报
今天天气真好 发表于 2012-7-16 17:33
你都十二分了,我还一分 给我几次拿技术分的机会呗

哎,我也想给呀,可是我也得努力拿分呀。
之前看视频学了一个月,起早贪黑地学也赶不上11期黑马。
这个月又重新复习一遍,之前觉得很难懂的地方复习第二遍的时候豁然开朗了。
大家一起努力吧。
回复 使用道具 举报
建议楼主可以把QQ改成自己理解的数据类型
然后再理解
如把QQ改为String,就很好理解了
//class Utils<QQ>//表示一个泛型类
class  Utils
{
         //private QQ q;////定义一个局部变量数据类型为QQ
         private String q;

          //public void setObject(QQ q)//定义一个函数内面的参数类型为QQ
          public void setObject(String q)
         {
  
                    this.q = q;
          }
           //public QQ getObject()//定义一个函数结果的返回值类型为QQ
            public String getObject()
            {
                      return q;
            }
}
回复 使用道具 举报
柯玲 中级黑马 2012-7-16 23:08:11
8#
此例是一个泛型类型,QQ称为类型参数,用QQ代替未来会出现的不确定的引用数据类型,JDK1.5之前是用Object完成扩展。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马