您的位置:首页 > 其它

类在构造时,构造方法内,类属性,父类属性,super的执行顺序

2012-08-19 11:07 176 查看
先贴代码:大家猜猜结果
package shiyan;public class ThisTest {public static void main(String[] args){new CCC();}}class C{public int a = 1;public C(){System.out.println(a);this.fun();fun();}public void fun(){System.out.println(a);}}class CC extends C{int a = 2;public CC(){super();//	System.out.println(a);}public void fun(){System.out.println(this.a);}}class CCC extends CC{int a = 3;public CCC(){super();}public void fun(){//	a = a;System.out.println(this.a);}}
答案是:	1
0
0
这涉及到类在构造时,调用构造方法内内容的执行顺序
上面例子:super()是隐藏着的,为了方便,我把它写出来了
在调用完super()之前类中属性其实没有初始化,调用完super()之后,立马初始化类属性
this在什么方法体类,其定义类型就是这个方法体类的类,其实际类是CCC
就写这么多了,大家仔细琢磨上面几句话,就OK了,还有问题就直接Q我吧!
QQ:992077171
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class fun string qq c
相关文章推荐