有类 A 如下:public class A { private String ss = "ss";
private String bb = "bb";

public void prnSS()
{
System.out.println("ss="+this.ss);
System.out.println("bb="+this.bb);
}

}还有 类 AA (继承类A) 如下:
public class AA extends A { private String ss = "ssa"; public static void main(String[] args) {
AA aa = new AA();
aa.prnSS();
}
}执行 类AA 的main()  得到结果如下:ss=ss
bb=bb但是,实际上我想得到如下结果:ss=ssa
bb=bb为什么不能用继承类里定义的属性呢? 要想实现这样的效果,该如何做呢?

解决方案 »

  1.   

    有类 A 如下:public class A { protected String ss = "ss";//注意这里
    private String bb = "bb";

    public void prnSS()
    {
    System.out.println("ss="+this.ss);
    System.out.println("bb="+this.bb);
    }

    }还有 类 AA (继承类A) 如下:
    public class AA extends A { private String ss = "ssa"; public static void main(String[] args) {
    AA aa = new AA();
    aa.prnSS();
    }
    }执行 类AA 的main()  得到结果如下:ss=ss
    bb=bb但是,实际上我想得到如下结果:ss=ssa
    bb=bb为什么不能用继承类里定义的属性呢? 要想实现这样的效果,该如何做呢?
      

  2.   

    成员变量没有多态属性,但方法有。可以这样:public class A {    private String ss = "ss";
        private String bb = "bb";    public String getSs() {
            return ss;
        }
        public String getBb() {
            return bb;
        }
        
        public void prnSS()
        {
            System.out.println("ss=" + getSs());
            System.out.println("bb=" + getBb());
        }
        
    }还有 类 AA (继承类A) 如下:
    public class AA extends A {    private String ss = "ssa";
        
        public String getSs() {
            return ss;
        }    public static void main(String[] args) {
            AA aa = new AA();
            aa.prnSS();
        }
    }
      

  3.   

    public class A { public String ss = "ss";
    private String bb = "bb";

    public void prnSS()
    {
    System.out.println("ss="+this.ss);
    System.out.println("bb="+this.bb);
    }

    }还有 类 AA (继承类A) 如下:
    public class AA extends A { ss = "ssa"; public static void main(String[] args) {
    AA aa = new AA();
    aa.prnSS();
    }
    }That's OK.
      

  4.   

    更正:
    public class A { public String ss = "ss";
    private String bb = "bb";

    public void prnSS()
    {
    System.out.println("ss="+this.ss);
    System.out.println("bb="+this.bb);
    }

    }public class AA extends A { public static void main(String[] args) {
    AA aa = new AA();
    aa.ss = "ssa";
    aa.prnSS();
    }
    }
      

  5.   

    pease(豌豆)  兄!  你的方法我早都试过! 不行!
     rower203(华仔)  的方法也不行!  只有 steedhorse(晨星)  的方法是正确的!谢谢各位的参与! 分已经给了!!!  合不合适请多包涵!
      

  6.   

    public class A { private String ss = "ss";
    private String bb = "bb";

    public void prnSS(String ss, String bb)
    {
    System.out.println("ss="+ss);
    System.out.println("bb="+bb);
    }

    }
    public class AA extends A { public static String ss = "ssa";
    public static String bb = "bb"; public static void main(String[] args) {
    AA aa = new AA();
    aa.prnSS(ss, bb);
    }
    }
      

  7.   

    希望你能学到东西,我的可行。不知你如何试的.
    public class A { public String ss = "ss";                      //注意这里。
    private String bb = "bb";

    public void prnSS()
    {
    System.out.println("ss="+this.ss);
    System.out.println("bb="+this.bb);
    }

    }public class AA extends A {
                                                         //注意这里。
    public static void main(String[] args) {
    AA aa = new AA();
    aa.ss = "ssa";                     //注意这里。
    aa.prnSS();
    }
    }
      

  8.   

    谢谢 rower203(华仔)   ,你乐于助人的精神 让我很感动!