1 public class CalC
2 {
3 void amethod()
4 {
5 System.out.println("CalC.amethod");
6 }
7
8 CalC()
9 {
10 amethod();
11 System.out.println("Hu?");
12 }
13
14 /**
15 * @param args
16 */
17 public static void main(String[] args)
18 {
19 CalC cc = new CalChild();
20 cc.amethod();
21 }
22 }
23
24 class CalChild extends CalC
25 {
26 void amethod()
27 {
28 System.out.println("CalChild.amethod");
29 }
30 }
输出的结果是:
CalChild.amethod
Hu?
CalChild.amethod
调用java中的所有成员变量/成员函数都隐含了this.
方法在内存中只有一个备份,所有的对象都共享这个备份,为了区分开到底是哪个对象在调用这个方法,关键的地方就是this的使用.this把调用方法的上下文对应到当前对象上.