Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Eric Sosman Newsgroups: comp.lang.java.programmer Subject: Re: Another question on Java keyword "this". Date: Fri, 15 Apr 2016 18:26:08 -0400 Organization: A noiseless patient Spider Lines: 49 Message-ID: References: <7d6a2a1e-bf53-472c-8ec2-2c92a0b5f73e@googlegroups.com> <8bd83f19-b47f-43e8-9acb-d3d4ed125a2a@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Fri, 15 Apr 2016 22:23:07 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="2d081e2f7155c28005d4472f67c2f43d"; logging-data="12535"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+nm42p3VEQb/byl0FrwQNK" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 In-Reply-To: <8bd83f19-b47f-43e8-9acb-d3d4ed125a2a@googlegroups.com> Cancel-Lock: sha1:0TEfmnDbYF/2mvBX4qc6SCpW/PQ= Xref: csiph.com comp.lang.java.programmer:34148 On 4/15/2016 5:45 PM, cdalten@gmail.com wrote: > On Thursday, April 14, 2016 at 11:27:34 PM UTC-7, cda...@gmail.com wrote: >> In the follow code found at... >> >> https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/java/com/example/mapdemo/GroundOverlayDemoActivity.java >> >> What does "this" in >> >> map.setOnGroundOverlayClickListener(this); >> >> refer to? > > I thought about it. I think I found out what's irking me. Does > > map.setOnGroundOverlayClickListener(this); > > Implement something? If so, what does it implement? The identifier `map' refers to some kind of object. (It may refer to it by the object's actual class name, or by the name of a superclass, or by the name of an interface implemented by the object's class -- but in any event, `map' refers to some kind of an object.) The referred-to object is an instance of a class that has (or maybe inherits) a method named `setOnGroundOverlayClickListener'. That method has one parameter (or possibly more, but that would just confuse you to the point where your head might explode), and that parameter is declared with some particular type: Again, a class or perhaps an interface. Assuming that the code compiles, the object referred to by `this' belongs to a class that is compatible with the method's parameter. By "compatible with," I mean that the `this' object is either of the class declared for the parameter, or is a subclass of that class, or (if the parameter is declared with an interface type) is a class that implements that interface or one of its sub-interfaces. ... and all of this is *elementary*, the kind of stuff that's covered in "Java 101," probably by the fifth or sixth class meeting and certainly before the tenth. I really think you should heed Lew's advice about doing some introductory reading before diving in with questions at the level of "What's an `int'?" Usenet is a fine medium for handling directed inquiries, but a poor one for the mass transfer of basic information. It's like taking a correspondence course over Twitter. Seek other approaches. -- esosman@comcast-dot-net.invalid "Don't be afraid of work. Make work afraid of you." -- TLM