this、super的引用

This:

    关键字this是指向调用对象本身的引用名,可以用this关键字引用对象的实例成员;

    this关键字可以用来引用类的隐藏数据域;

//调用隐藏对象
public class F{
      private int i = 5;
      private static double k = 0;
      
      public void setI(int i){
        this.i = i;
}
     public void setK(double k){
      this.k = k;
}

}

    this关键字可以用来用调用同一个类的另一种构造方法;

public class Circle{
    private double radius;
    
    public Circle(double radius){
       this.radius = radius;   //this关键字用于调用做构建对象的隐藏数据域
}
    public Circle(){
    this(1.0);       //this关键字用于调用另一个构造方法
}

}

 
 

    java要求的构造方法中,语句this应放到任何其他可执行语句之前出现;

    如果一个类有多个构造方法,做好尽可能使用this来实现他们,这样做通常可以简化代码,使类易于阅读和维护

Super:

    对于一个类的父类,引用super可以完成同this一样的工作。可以用它来引用超类中被遮蔽或覆盖的成员。能够调用超类的最初的方法,这就允许我们在执行额外工作之前或之后委托给他们行为。从而将其作为新方法的一部分来使用。

class Animal {
   void eat(Food f) throws InedibleException{
    //consum food
}
}
class Herbivore extends Animal{
    void eat(Food f) throws NeatInedibleException{
    //check if edible
   .....
   try{
   super.eat(f);
}catch(InedibleException e){......}
}
}

 这个例子中Herbivore类(食草动物)覆盖了 Animal eat() 方法,从而对事物先做出检查,完成任务之后,使用super.eat()来调用其超类中的eat()方法。

如果没有超类将无法访问覆盖方法。


扫描二维码关注公众号,回复: 1053428 查看本文章



C/S   :  客户端服务程序

B/S   :  浏览器端服务程序

    

猜你喜欢

转载自blog.csdn.net/maybeno1314/article/details/79466794
今日推荐