Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: Abu Yahya Newsgroups: comp.lang.java.programmer,comp.lang.java.help Subject: Re: What's the difference between and instance and an object? Date: Wed, 08 Jun 2011 22:07:28 +0530 Organization: Aioe.org NNTP Server Lines: 20 Message-ID: References: <5d84ac2b-e81b-4c40-b3e3-c7248f1d7298@r35g2000prj.googlegroups.com> <4decfdbc$0$17721$426a74cc@news.free.fr> <1a327de4-8451-4379-a75b-7cc2dab3fb5b@34g2000pru.googlegroups.com> <4ded05bb$0$17813$426a74cc@news.free.fr> <2rWdnUf1RZ_9OXLQnZ2dnUVZ_ridnZ2d@earthlink.com> NNTP-Posting-Host: LePVoNEtezBuiMA9+cM5gA.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 X-Notice: Filtered by postfilter v. 0.8.2 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:5114 comp.lang.java.help:759 On 6/8/2011 10:03 PM, Patricia Shanahan wrote: > There are two slightly different meanings of "X is an instance of Y". > > 1. X is an object whose class is Y. That is the meaning in which a > constructor can only return an instance of its own class. The expression > (new MyClass()), if it completes without exception or error, is always > an object whose class is MyClass. > > 2. X is an object whose class implements or extends Y. This is the > meaning that is tested by the "instanceof" operator. The expression > > (x instanceof Y) > > is true if x references an object whose class implements or extends Y. > > (x instanceof Object) is true unless x is null. Thanks. That makes it /much/ clearer now.