本帖最后由 陈劲松 于 2015-8-25 18:21 编辑  
 
关于多态的问题,下面直接上代码: 
 
- class Base
 
 - {
 
 -     int student = 1;
 
 -     //定义父类的构造方法a()。
 
 -     void a()
 
 -     {
 
 -         System.out.println("fu");
 
 -     }
 
 - }
 
 - class Sub extends Base
 
 - {
 
 -     //重新定义student变量。
 
 -     String student = "林珊";
 
 -     //定义Sub的构造方法a()。
 
 -     void a()
 
 -     {
 
 -         System.out.println("zi");
 
 -     }
 
 -     public static void main(String[] args)
 
 -     {
 
 -         Base ls = new Sub();
 
 -         //输出的是1,表明访问的是父类对象的变量。
 
 -         System.out.println(ls.student);
 
 -         //运行结果是zi,执行的是当前类的a()方法。
 
 -         ls.a();
 
 -     }       
 
 - }
 
  复制代码 
 
ls.student输出结果是父类中的1,而ls.a()执行的确实Sub中的a()方法,为何啊? 
 
 
 |   
        
 
    
    
    
     
 
 |