Java中的super关键字

super关键字和this关键字挺像的,只不过this是引用当前类中的对象,而super是引用父类对象。

比如

class Animal{
   String name = "a some animal";
   void eat(){
    System.out.println("eat...");
  }
}

class Cat extends Animal{
    String name;
    void eat(){
       System.out.print(super.name);//调用父类的变量
       super.eat();//调用父类的eat方法
    }
}

在构造函数方面,super也可以大显身手
比如

class Animal{
  private Integer id;
  private String name;
  public Animal(){
  }
  public Animal(Integer id,String name){
     this.id = id;
     this.name = name;
  }
  //省略getter、setter
}

class Cat extends Aniaml{
   private Integer id;
   private String name;
   private int num;
   public Cat(){
   }
   public Cat(Integet id,String name,int num){
      super(id,name);
      this.num = num;
   }
   //省略getter、setter
}

你可能感兴趣的:(java,java)