package test;public class statictest {
public static void main(String arg[])
{
B1 b1=new B1();
B2 b2=new B2();

b1.prt();
b2.prt();



AA a=new A1();
//((A1)a).prt();

System.out.println("TEST END!");
}}
abstract class AA 
{
public static String msg="AA";

public static void prt()
{
System.out.println(msg);
}
}
class A1 extends AA
{
public static String msg="A1"; public static void prt()
{
System.out.println(" >>> "+msg);
}
}
class A2 extends AA
{
public static String msg="A2"; public static void prt()
{
System.out.println(" === "+msg);
}
}
abstract class BB <T extends AA>
{
T o;
public void prt()
{
T.prt();
}

}
class B1 extends BB<A1>
{

}class B2 extends BB<A2>
{

}
// END
T.prt()都输出AA.msg
能输出A1,A2的吗

解决方案 »

  1.   

    public class StaticTest {
    public static void main(String arg[]) {
    A1 b1 = new A1();
    A2 b2 = new A2();
    b1.prt();
    b2.prt(); }}abstract class AA {
    public static String msg = "AA"; public static void prt() {
    System.out.println(msg);
    }
    }class A1 extends AA {
    public static String msg = "A1"; public static void prt() {
    System.out.println(" >>> " + msg);
    }}class A2 extends AA {
    public static String msg = "A2"; public static void prt() {
    System.out.println(" === " + msg);
    }
    }abstract class BB<T extends AA> {
    T o; public void prt() {
    T.prt();
    }}class B1 extends BB<A1> {}class B2 extends BB<A2> {}
      

  2.   

    java的基础没学好,搞些模板,继承的时候,
    碰上静态成员总是很麻烦~
      

  3.   

    想要相关语言的所有资料吗?那就快来吧。
    我的压缩包里面不止一两样东西哦,那可是我学习和工作的所有资料,不管是学习还是工作都会需要。
    http://download.csdn.net/user/yangtonghai