<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentários em: &#8220;Em que classe estou&#8221;, diz o Object para o outro</title>
	<atom:link href="http://www.zonaj.org/2008/08/25/em-que-classe-estou-diz-o-object-para-o-outro/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zonaj.org/2008/08/25/em-que-classe-estou-diz-o-object-para-o-outro/</link>
	<description>Zona Java - Um blog português sobre java.</description>
	<lastBuildDate>Wed, 26 May 2010 17:20:08 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: PJG</title>
		<link>http://www.zonaj.org/2008/08/25/em-que-classe-estou-diz-o-object-para-o-outro/comment-page-1/#comment-128</link>
		<dc:creator>PJG</dc:creator>
		<pubDate>Mon, 25 Aug 2008 21:22:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.zonaj.org/?p=122#comment-128</guid>
		<description>Onde escrevi:
    &quot;o código que invocou o método&quot;

...queria escrever:
    &quot;o bytecode que invocou o método&quot;

Sorry!</description>
		<content:encoded><![CDATA[<p>Onde escrevi:<br />
    &#8220;o código que invocou o método&#8221;</p>
<p>&#8230;queria escrever:<br />
    &#8220;o bytecode que invocou o método&#8221;</p>
<p>Sorry!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: PJG</title>
		<link>http://www.zonaj.org/2008/08/25/em-que-classe-estou-diz-o-object-para-o-outro/comment-page-1/#comment-127</link>
		<dc:creator>PJG</dc:creator>
		<pubDate>Mon, 25 Aug 2008 21:20:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.zonaj.org/?p=122#comment-127</guid>
		<description>Não tinha percebido bem.

Mas a verdade é que apenas te será possível encontrar qual a classe em que o método foi DECLARADO.

A menos que estejas num ambiente muito permissivo, com o código compilado com informação de debug (para ter etiquetas de número de linha no bytecode) , e utilizes a informação na stack trace para analisar o código que invocou o método, já que as duas chamadas que apresentas são representadas por bytecode diferente. Algo do tipo:

INVOKESTATIC org/zonaj/whatever/package/A$getMyName()V

INVOKESTATIC org/zonaj/whatever/package/B$getMyName()V

=:o)

Have Fun!</description>
		<content:encoded><![CDATA[<p>Não tinha percebido bem.</p>
<p>Mas a verdade é que apenas te será possível encontrar qual a classe em que o método foi DECLARADO.</p>
<p>A menos que estejas num ambiente muito permissivo, com o código compilado com informação de debug (para ter etiquetas de número de linha no bytecode) , e utilizes a informação na stack trace para analisar o código que invocou o método, já que as duas chamadas que apresentas são representadas por bytecode diferente. Algo do tipo:</p>
<p>INVOKESTATIC org/zonaj/whatever/package/A$getMyName()V</p>
<p>INVOKESTATIC org/zonaj/whatever/package/B$getMyName()V</p>
<p>=:o)</p>
<p>Have Fun!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ruben Badaró</title>
		<link>http://www.zonaj.org/2008/08/25/em-que-classe-estou-diz-o-object-para-o-outro/comment-page-1/#comment-126</link>
		<dc:creator>Ruben Badaró</dc:creator>
		<pubDate>Mon, 25 Aug 2008 20:56:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.zonaj.org/?p=122#comment-126</guid>
		<description>Tinha-me enganado no segundo output, ambas as respostas davam A.

Penso que a tua solução também me dá a superclasse e nunca a subclasse. E o que eu queria era saber qual a classe que foi utilizada para invocar o método (no meu exemplo, que me desse B e não A)</description>
		<content:encoded><![CDATA[<p>Tinha-me enganado no segundo output, ambas as respostas davam A.</p>
<p>Penso que a tua solução também me dá a superclasse e nunca a subclasse. E o que eu queria era saber qual a classe que foi utilizada para invocar o método (no meu exemplo, que me desse B e não A)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: PJG</title>
		<link>http://www.zonaj.org/2008/08/25/em-que-classe-estou-diz-o-object-para-o-outro/comment-page-1/#comment-125</link>
		<dc:creator>PJG</dc:creator>
		<pubDate>Mon, 25 Aug 2008 20:23:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.zonaj.org/?p=122#comment-125</guid>
		<description>public class GetMyClassTrial {

	public static void main(String[] args) {
		System.out.println(&quot;I know my class       : &quot; + GetMyClassTrial.class.getName());
		System.out.println(&quot;I don&#039;t know my class : &quot; + Thread.currentThread().getStackTrace()[2].getClassName());
	}

}</description>
		<content:encoded><![CDATA[<p>public class GetMyClassTrial {</p>
<p>	public static void main(String[] args) {<br />
		System.out.println(&#8221;I know my class       : &#8221; + GetMyClassTrial.class.getName());<br />
		System.out.println(&#8221;I don&#8217;t know my class : &#8221; + Thread.currentThread().getStackTrace()[2].getClassName());<br />
	}</p>
<p>}</p>
]]></content:encoded>
	</item>
</channel>
</rss>
