黑马程序员技术交流社区

标题: 继承的问题 [打印本页]

作者: 史小兵    时间: 2012-10-12 20:36
标题: 继承的问题
子类如何访问父类的成员变量?
public abstract class Animal {
        public String name="dong wu";
        public abstract  void enjoy();
       

}
class Cat extends Animal{
//        super.name="haha";为什么在此处没办法使用父类变量
       
        @Override
        public void enjoy() {
                System.out.println(super.name);
               
               
        }
       
}
作者: 廖智    时间: 2012-10-12 20:53
本帖最后由 廖智 于 2012-10-12 20:54 编辑




子类想要访问父类中的成员,用super来指向。
作者: 杜正华    时间: 2012-10-13 19:08
  1. package com.itcast.practise;

  2. public class Demo2 {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub
  8.         Sun sun = new Sun();
  9.         sun.show();
  10.       
  11.         }

  12. }

  13. abstract class Father{
  14.         abstract public void show();
  15.         public String name = "456";
  16.        
  17.                
  18.        
  19.        
  20. }
  21. class Sun extends Father{
  22.         //super.name = "haha";
  23.         String str = super.name;  //这里不能用super.name = "haha" 应该是为了保护父类中的变量
  24.     @Override
  25.         public void show(){
  26.                 System.out.println(super.name);
  27.        
  28.     }

  29. }
复制代码

作者: 黑马任雪刚    时间: 2012-10-13 20:33
子类是可以直接访问父类中的成员变量的,代码如下:
  abstract class Animal {
         public String name="dong wu";
         public abstract  void enjoy();
         

}
class Cat extends Animal{

                 //String name="ffffffffff";
        @Override
         public void enjoy() {
                 System.out.println(super.name);
                 
               
        }
         
}
public class iii{

        public static void main(String[] args)
        {
                Cat cat=new Cat();
                cat.enjoy();
        }
}
子类继承了父类中的公共的成员变量和方法,但是子类可以给父类中的成员变量赋予新的值,代码如下:
abstract class Animal {
         public String name="dong wu";
         public abstract  void enjoy();
         

}
class Cat extends Animal{

                 String name="ffffffffff";
        @Override
         public void enjoy() {
                 System.out.println(name);
                 
               
        }
         
}
public class iii{

        public static void main(String[] args)
        {
                Cat cat=new Cat();
                cat.enjoy();
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2