本帖最后由 杨文宇 于 2012-8-6 12:40 编辑
- public class Test{
- public Test(){
- System.out.println(this.getClass());
- }
- public static void main(String[] args){
- new Test1(){};
- new Test2();
- }
- }
- class Test1 extends Test{
- public Test1(){
- System.out.println(this.getClass());
- }
- }
- class Test2 extends Test1{
- public Test2(){
- System.out.println(this.getClass());
- }
- }
复制代码 输出答案是:
class javaEnhance.Test$1
class javaEnhance.Test$1
class javaEnhance.Test2
class javaEnhance.Test2
class javaEnhance.Test2
1.Test$1, 是什么意思? new Test1(){}不是创建Test1的匿名子类吗?
2.怎么 new Test2()输出的都是class javaEnhance.Test2,什么原因?和继承有什么关系?最好说得详细点
|