Anonymous Inner Class (匿名内部…

来源:互联网 发布:东方财富证券交易软件 编辑:程序博客网 时间:2024/06/05 03:02
不可以继承其他类
例子:
import org.junit.Test;

public class TestAnonymousInnserClass {

    @Test
    public voidtestExtends(){
      InnerTest it = new InnerTest();
      TestEntity te = it.getTestEntity(2);
      System.out.println(te.getI());
    }
    
}
class TestEntity{//超类
    private inti ;
    
    publicTestEntity(int i ){
      this.i = i;
    }
    
    
    public intgetI(){
      return i;
    }
}

class InnerTest{//用于测试内部类
    
    publicTestEntity getTestEntity(int i){
      return new TestEntity(i){//创建Anonymous InnerClass 调用父类的构造方法
         //虽然不能继承其他类 但是实际这个TestEntiy的子类
         @Override
         public int getI(){//重写父类方法
            return super.getI()*10;
            
         }
      };
    }
    
}
0 0
原创粉丝点击