当前位置: 技术问答>java相关
送分问题(20分)
来源: 互联网 发布时间:2015-01-21
本文导语: class A { public A() { System.out.println("AAA"); //默认构造函数? } { System.out.println("456"); //这又属于什么?怎么{}外没有任何标识? // 为什么在...
class A
{
public A()
{
System.out.println("AAA"); //默认构造函数?
}
{
System.out.println("456"); //这又属于什么?怎么{}外没有任何标识?
// 为什么在构建父类时会先调用它,而不是public A?
}
}
public class B extends A
{
B()
{
this(12);
System.out.println("BBB");
}
B(int x)
{
System.out.println("CCC");
}
{
System.out.println("123");
}
public static void main(String[] args)
{
new B();
}
}
输出
AAA
123
CCC
BBB
为什么有123????????
{
public A()
{
System.out.println("AAA"); //默认构造函数?
}
{
System.out.println("456"); //这又属于什么?怎么{}外没有任何标识?
// 为什么在构建父类时会先调用它,而不是public A?
}
}
public class B extends A
{
B()
{
this(12);
System.out.println("BBB");
}
B(int x)
{
System.out.println("CCC");
}
{
System.out.println("123");
}
public static void main(String[] args)
{
new B();
}
}
输出
AAA
123
CCC
BBB
为什么有123????????
|
建议先看ClassLoader的执行顺序。
variable --- black ----- constructor
b-->--->a.block -->a()---->b.block----->b(12)
output is :
456
AAA
123
CCC
BBB
(给我加分)
variable --- black ----- constructor
b-->--->a.block -->a()---->b.block----->b(12)
output is :
456
AAA
123
CCC
BBB
(给我加分)
|
是呀!!同意楼上,建议你看一看THINKING IN JAVA 有关CONSTRUCTOR的知识
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。