14 this.setProvince (province); 15 } 16 17 18
public void setProvince(String province){ this. province = province; }
19 public String getProvince (){ 20 21
}
return this. province ;
22 public void eat() // 重写了父类的eat ()方法 23 {
24 System.out.println(\中国人喜欢吃中餐\25 } 26 }
27 public class ChineseTest{
28 public static void main (String[] args){
29 Chinese liming=new Chinese(\黎明\山西省\30 Chinese lisi=new Chinese(\李四\山东省\31 liming.eat(); // 调用子类的成员方法 32 liming.introduction ();// 调用父类的成员方法 33 lisi.eat(); // 调用子类的eat()方法 34 super.eat(); // 调用父类的eat()方法 35 } 36 } this引用
Java中,每个对象都具有对其自身引用的访问权,成为this引用。this引用是作为非static方法调用中的隐含参数传送到对象中的。使用规则如下: (1)指代对象本身,格式:this
例如:下面的方法比较两个对象obj1、obj2是否相等。其中obj2对象通过参数传递值,obj1对象是隐藏的。在方法中,通过this引用,指代调用本方法的当前对象。
void equals(Object obj2) {
Object obj1=this; //this指调用本方法的当前对象 }
(2)访问本类的成员变量和成员方法,格式为: this.<变量名> this.<方法名>
例如下面代码中,类A中有成员变量i,而在方法m中也用i作为参数。在m的方法中容易混淆两个i,此时必须要用this.i指代对象自己的成员变量i。 class A { int i ; void m(int i) {
this.i=2*i ; //this.i中的i指成员变量i,表达式中的i指参数i } }
? super引用
在上面的实例中,实际上在子类的构造方法中调用了一个super()的方法。该方法表示调用父类(即超类)的构造方法。
如果子类中定义的成员变量和父类中的成员变量同名时,则父类中的成员变量不能被继承,此时称子类的成员变量隐藏了父类的成员变量。当子类中定义了一个方法,并且这个方法的名字,返回类型,用参数个数和类型和父类的某个方法完全相同时,父类的这个方法将被隐藏,既不能被子类继承下来。如果我们在子类中想使用被子类隐藏的父类的成员变量或方法就可以使用关键字super。使用关键字super,可以引用被子类隐藏的父类的成员变量和成员方法,成为super引用,引用规则如下:
1)被子类隐藏的父类的成员变量和成员方法,格式为: super.<变量名> super.<方法名>
(2)调用父类的构造方法
例8.2使用super调用父类的构造方法
子类不能继承父类的构造方法。因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super来表示。而且super必须是子类构造方法中的头一条语句。代码如下:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Java学习资料,ppt,复习资料(8)在线全文阅读。
相关推荐: