2011-04-07 42 views

回答

12

不,它不是。如果有子類。

class C { 
    Class m() { 
     return this.getClass(); 
    } 
} 
class D extends C { } 

,然後就可以有:

C c = new D(); 
c.m(); // returns D.class 
8

都能跟得上:

public class C 
{ 
    public void m() 
    { 
     System.out.println(this.getClass()); 
    } 
} 

public class Child extends C {} 

然後:

new Child().m(); // Prints Child 
2

號實施例:

public class Test { 
    public static void main(String [] args) throws Exception { 
    A a = new B(); 
    a.reportThis(); 
    } 
} 
class A { 
    public void reportThis() { 
    System.err.println(this.getClass().getName()); 
    } 
} 

class B extends A { } 
1

關鍵字this指的是範圍內的對象(類的實例)。它意味着方法被調用的實例 - 這又意味着子類的實例也可以被關鍵字'this'引用。

相關問題