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 : 浏览器端服务程序