<?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>《剖析一个java对象初始化顺序问题》的评论</title>
	<atom:link href="http://kenwublog.com/a-interesting-problem-about-java-object-init-order/feed" rel="self" type="application/rss+xml" />
	<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order</link>
	<description>just another software engineer blog</description>
	<lastBuildDate>Tue, 08 May 2012 03:14:23 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>作者：Ken Wu</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-32097</link>
		<dc:creator>Ken Wu</dc:creator>
		<pubDate>Sat, 31 Dec 2011 16:02:50 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-32097</guid>
		<description>为何不可呢？B类中用A类，循环classload也是没问题的啊</description>
		<content:encoded><![CDATA[<p>为何不可呢？B类中用A类，循环classload也是没问题的啊</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：YYC</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-32072</link>
		<dc:creator>YYC</dc:creator>
		<pubDate>Fri, 30 Dec 2011 06:12:41 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-32072</guid>
		<description>请问为何Class B中：
class B {
	public B() {
		System.out.println(((A) this).a);
	}
}
能够这样使用((A) this).a子类的方法</description>
		<content:encoded><![CDATA[<p>请问为何Class B中：<br />
class B {<br />
	public B() {<br />
		System.out.println(((A) this).a);<br />
	}<br />
}<br />
能够这样使用((A) this).a子类的方法</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：Ken Wu</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30593</link>
		<dc:creator>Ken Wu</dc:creator>
		<pubDate>Tue, 14 Jun 2011 03:10:11 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30593</guid>
		<description>我是按方法执行顺序。new A()调用的一定是 A类。然后A类构造函数里通过super调用Ｂ类.</description>
		<content:encoded><![CDATA[<p>我是按方法执行顺序。new A()调用的一定是 A类。然后A类构造函数里通过super调用Ｂ类.</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：叶文军</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30590</link>
		<dc:creator>叶文军</dc:creator>
		<pubDate>Mon, 13 Jun 2011 08:41:54 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30590</guid>
		<description>2，调用A类构造函数。
3，调用B类构造函数。

这两步反了吧。。</description>
		<content:encoded><![CDATA[<p>2，调用A类构造函数。<br />
3，调用B类构造函数。</p>
<p>这两步反了吧。。</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：Ken Wu</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30557</link>
		<dc:creator>Ken Wu</dc:creator>
		<pubDate>Mon, 23 May 2011 04:52:35 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30557</guid>
		<description>static完全是在classloading级别完成的，所以你这个例子无法对比普通成员变量的初始化顺序。</description>
		<content:encoded><![CDATA[<p>static完全是在classloading级别完成的，所以你这个例子无法对比普通成员变量的初始化顺序。</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：linjx0123</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30554</link>
		<dc:creator>linjx0123</dc:creator>
		<pubDate>Fri, 20 May 2011 07:42:46 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30554</guid>
		<description>1 先分配A的内存
2 初始化父类变量默认值。
3 初始化本地变量默认值。
4 执行父类static块
5 执行本地static块
6 执行父类static方法
7 执行本地static方法
8 初始化父类变量赋值
9 初始化本地变量赋值
10 执行父类构造函数
11 执行本地构造函数</description>
		<content:encoded><![CDATA[<p>1 先分配A的内存<br />
2 初始化父类变量默认值。<br />
3 初始化本地变量默认值。<br />
4 执行父类static块<br />
5 执行本地static块<br />
6 执行父类static方法<br />
7 执行本地static方法<br />
8 初始化父类变量赋值<br />
9 初始化本地变量赋值<br />
10 执行父类构造函数<br />
11 执行本地构造函数</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：linjx0123</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30553</link>
		<dc:creator>linjx0123</dc:creator>
		<pubDate>Fri, 20 May 2011 07:15:28 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30553</guid>
		<description>楼主分析分析这个：
public class A extends B {
	
	static {
		a = &quot;A static&quot;;
		System.out.println(A.a);
	}
	public static String a = &quot;A var&quot;;
 
	public A() {
		super();
		a = &quot;A co&quot;;
		System.out.println(a);
	}
 
	public static void main(String[] args) {
		System.out.println(new A().a);
	}
}
 
class B {
	
	static {
		A.a = &quot;b static&quot;;
		System.out.println(A.a);
	}
	
	public B() {
		System.out.println(((A)this).a + &quot; B co&quot;);
	}
}</description>
		<content:encoded><![CDATA[<p>楼主分析分析这个：<br />
public class A extends B {</p>
<p>	static {<br />
		a = “A static”;<br />
		System.out.println(A.a);<br />
	}<br />
	public static String a = “A var”;</p>
<p>	public A() {<br />
		super();<br />
		a = “A co”;<br />
		System.out.println(a);<br />
	}</p>
<p>	public static void main(String[] args) {<br />
		System.out.println(new A().a);<br />
	}<br />
}</p>
<p>class B {</p>
<p>	static {<br />
		A.a = “b static”;<br />
		System.out.println(A.a);<br />
	}</p>
<p>	public B() {<br />
		System.out.println(((A)this).a + ” B co”);<br />
	}<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：Ken Wu</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30533</link>
		<dc:creator>Ken Wu</dc:creator>
		<pubDate>Thu, 21 Apr 2011 06:30:21 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30533</guid>
		<description>啥问题!</description>
		<content:encoded><![CDATA[<p>啥问题!</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：王疏桐</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30531</link>
		<dc:creator>王疏桐</dc:creator>
		<pubDate>Tue, 19 Apr 2011 09:49:15 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30531</guid>
		<description>public class A extends B {
	public int a = 100;
 
	public A() {
		super();
		System.out.println(&quot;A&quot; + a);
		a = 200;
	}
 
	public static void main(String[] args) {
		System.out.println(new A().a);
	}
}
 
class B {
	public B() {
		System.out.println(&quot;B&quot; + ((A) this).a);
	}
}</description>
		<content:encoded><![CDATA[<p>public class A extends B {<br />
	public int a = 100;</p>
<p>	public A() {<br />
		super();<br />
		System.out.println(“A” + a);<br />
		a = 200;<br />
	}</p>
<p>	public static void main(String[] args) {<br />
		System.out.println(new A().a);<br />
	}<br />
}</p>
<p>class B {<br />
	public B() {<br />
		System.out.println(“B” + ((A) this).a);<br />
	}<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>作者：王疏桐</title>
		<link>http://kenwublog.com/a-interesting-problem-about-java-object-init-order/comment-page-1#comment-30530</link>
		<dc:creator>王疏桐</dc:creator>
		<pubDate>Tue, 19 Apr 2011 09:48:45 +0000</pubDate>
		<guid isPermaLink="false">http://kenwublog.com/?p=1709#comment-30530</guid>
		<description>楼主，有问题。</description>
		<content:encoded><![CDATA[<p>楼主，有问题。</p>
]]></content:encoded>
	</item>
</channel>
</rss>

