`
zhouchaofei2010
  • 浏览: 1086797 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(转)Java类中带有内部类和匿名类编译的class文件命名规则

    博客分类:
  • java
 
阅读更多

内部类的class文件命名是:主类+$+内部类名


匿名类的class文件命名是:主类+$+(1,2,3....)

 

例如:QualityMonitorDiagramAction.java

如果QualityMonitorDiagramAction类中定义了内部类QmdSub,则会在QualityMonitorDiagramAction.class的同级目录下产生一个QualityMonitorDiagramAction$QmdSub.class的文件。

如果QualityMonitorDiagramAction类中定义了匿名类,则会在QualityMonitorDiagramAction.class的同级目录下产生一个QualityMonitorDiagramAction$1.class的文件。

 

内部类(inner class):

class Outer{
    private int index = 10;
    class Inner {
        private int index = 20;
        void print(){
            int index = 30;
            System.out.println(this); // the object created from the Inner
            System.out.println(Outer.this); // the object created from the Outer
            System.out.println(index); // output is 30
            System.out.println(this.index); // output is 20
            System.out.println(Outer.this.index); // output is 10
        }
    }

    void print() {
        Inner inner = new Inner(); //得到内部类的引用
        inner.print();
    }
}

class Test {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.print();
    }
}

匿名类:new Xxx({在这里进行操作即可});

new Test({System.out.println("你好!");});

 

匿名内部类:new Xxx(){} 或者 new Xxx(String param){}
  Timer timer = new Timer();  //实例化Timer类
  timer.schedule(new TimerTask(){
   public void run(){ 
    //System.out.println("退出");
    this.cancel();
   }
  }, 100000);  //1000毫秒=1秒

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics