JAVA类的初始化有关问题
阅读
class A
{
{
System.out.println("A类语句块");
}
public A()
{
System.out.println("A类无参构造函数");
}
public A(int i)
{
this();
System.out.println(i);
}
}
class B extends A
{
{
System.out.println("B类语句块");
}
public B()
{
super(10);
System.out.println("B类无参构造函数");
}
}
public class Test
{
public static void main(String[] args)
{
new B();
}
}
上面运行后有点问题,输出是:
A类语句块
A类无参构造函数
10
B类语句块
B类无参构造函数
但是跟我自己想得不一样,在A类的有参构造函数中this()怎么就没有调用他的无参构造函数呢。
------解决方案--------------------
进入B的构造方法,然后super(10),进入父类的有参数的构造方法里,调用无参数的构造,打印“A类语句块”、“A类无参构造函数”,然后“10”,然后构造B,打印“B类语句块”、“B类无参构造函数”
------解决方案--------------------
这就是重载,会根据参数的个数和类型去找相应的方法。
阅读
上一篇:struts2里的action怎的获取表单里的大量数据 下一篇:返回列表