Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8684

Re: What Does it Mean to Pass a Generic Class Itself as a Parameter?

From Screamin Lord Byron <scre@min.dot>
Newsgroups comp.lang.java.programmer
Subject Re: What Does it Mean to Pass a Generic Class Itself as a Parameter?
Date 2011-10-10 19:07 +0200
Organization Metronet
Message-ID <f11dn5rfsqq6.s2k8wo2l2h9i$.dlg@40tude.net> (permalink)
References <c534ac30-345e-4467-ba44-5d719d8c22ca@6g2000prh.googlegroups.com>

Show all headers | View raw


On Mon, 10 Oct 2011 08:01:34 -0700 (PDT), KevinSimonson wrote:

> I'm currently taking a class pretty much each week to prepare for the
> SCJP exam.  In the classes we usually go over practice exams and try
> to figure out what the right answer is to a number of the questions.
> After the chapter on Generics, one of the questions involved a class
> like the one I call {Wierd} here.  It was kind of of the form:
> 
> public class Wierd< T extends Wierd>
> {
>   public Wierd ()
>   {
>   }
> }
> 
> and then we had a class of the form:
> 
> public class Hmm
> {
>   public static void main ( String[] arguments)
>   {
>     Wierd< Wierd> wow = new Wierd< Wierd>();
>   }
> }
> 
> Can anyone tell me what's going on here?  In {Wierd} itself is the
> {Wierd} that's being extended in the angle brackets the same {Wierd}
> that's being defined in this file?  

It just means that the type parameter must fulfill an IS-A relation with
Wierd. It must be Wierd or any subclass of Wierd. That's it. Nothing is
being extended here.

> And what exactly is happening in
> {main()} when I declare {wow} to be a {Wierd< Wierd>} object?  I'd
> really appreciate it if someone could explain this to me.

Nothing special is happening. You just instantiate the object of a class
Wierd. From JVM's point of view it is exactly the same as:
Wierd wow = new Wierd();

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

What Does it Mean to Pass a Generic Class Itself as a Parameter? KevinSimonson <kvnsmnsn@hotmail.com> - 2011-10-10 08:01 -0700
  Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Jeff Higgins <jeff@invalid.invalid> - 2011-10-10 12:11 -0400
    Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Jeff Higgins <jeff@invalid.invalid> - 2011-10-10 12:56 -0400
  Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? markspace <-@.> - 2011-10-10 09:12 -0700
    Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Patricia Shanahan <pats@acm.org> - 2011-10-10 09:31 -0700
      Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Lew <lewbloch@gmail.com> - 2011-10-10 12:12 -0700
        Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-10-10 13:32 -0700
          Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Jeff Higgins <jeff@invalid.invalid> - 2011-10-10 16:40 -0400
          Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Lew <lewbloch@gmail.com> - 2011-10-10 14:29 -0700
  Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Screamin Lord Byron <scre@min.dot> - 2011-10-10 19:07 +0200
  Re: What Does it Mean to Pass a Generic Class Itself as a Parameter? Jeff Higgins <jeff@invalid.invalid> - 2011-10-11 02:08 -0400

csiph-web