比如下面的类m的输出结果是111,SS改成333输出就是333,程序好象并没有调用S511和F511的构造函数?那位能帮忙解释一下,谢过。
class F511{
private int ff=100;
protected int m=880;
F511()
{
m=add(8);}
int add(int i){return i+m;}
}
class S511 extends F511{
protected int ss=111;
S511(){m+=ss;}
int add(int i){return i*ss;}
}class A
{
public static void main(String[] args) {
S511 a = new S511() ;
System.out.println(a.m );
System.out.print(a.ss);}
class F511{
private int ff=100;
protected int m=880;
F511()
{
m=add(8);}
int add(int i){return i+m;}
}
class S511 extends F511{
protected int ss=111;
S511(){m+=ss;}
int add(int i){return i*ss;}
}class A
{
public static void main(String[] args) {
S511 a = new S511() ;
System.out.println(a.m );
System.out.print(a.ss);}
class Counter
{
int i=1; public String toString()
{
return Integer.toString(i);
}
}
class Test
{
public static void main(String[] args)
{
HashMap hm=new HashMap();
int c=0;
for(int i=0;i<100;i++)
{
Integer r=new Integer((int)(Math.random()*10));
if(hm.containsKey(r) )
{
((Counter)hm.get(r)).i++; }
else
hm.put(r,new Counter());
c=1;
}
System.out.println(hm);
}
}