java中super的运用

   super可以在子类中调用父类的构造方法,省下很多代码。例如:

   abstract class Animal

{

   public String name;

   public int age;

   public int weight;

  Animal(String aname,int aage,int aweight)

  {

      name = aname;

      age = aage;

      weight = aweight;

   }

  public void showInfo(){

   System.out.println("名字:"+name+" 年龄:"+age+" 体重:"+weight);

  }

   abstract void move();

   abstract void eat();

}

class Fish extends Animal

{

   String name;

   int age;

   int weight;

   Fish(String name,int age,int weight)

   {

        super(name,age,weight);

    }

  void move(){

    System.out.println("Fish move()");

    }

  void eat(){

    System.out.println("Fish eat()");

    }

}

public class TestAnimal

{

   public static void main(String args[])

{

   Fish fish = new Fish("seafish",2,10);

   fish.move();

   fish.eat();

   fish.showInfo();

}

}

运行结果:Fish move()

          Fish eat()

         名字:seafish 年龄:2 体重:10

类fish不能再定义showInfo(),不然会认为子类要重载,会出错。子类中的成员变量或方法名优先级高,子类的同名成员变量或方法就隐藏了父类的成员变量或方法,如果想要使用父类中的这个成员变量或方法,就需要用到super.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章