Java匿名内部类

来源:互联网 发布:windows update卡在35 编辑:程序博客网 时间:2024/06/08 07:01
内部类有三种:静态内部类,成员内部类,局部内部类,匿名内部类

1.静态内部类


 public class static ClassName
静态内部类只能访问外部类静态的成员变量(类比静态方法)


在外部类以外调用静态内部类:
ClassName cn = new  OutClass.ClassName();//类比静态方法的调用


2.成员内部类
public class ClassName 
成员内部类与外部类的方法同一级别,可以访问外部类的成员变量,当外部类的方法要访问此类
 
 new this.ClassName();


外部类以外的调用
 
 new OutClass().new ClassName();


3.局部内部类


声明在外部类的方法内,类比方法的局部变量,外部类无法直接调用此类


OutClass{


 public void run(){
   
  class ClassName{
   
  
  
   }


}



4.匿名内部类

匿名内部类没有 class 关键字,没有类名,没有extends 和implement 关键字,但是匿名内部类会隐式的继承类或者接口
String str = ClassName.toString(new Date(){
         //继承了Date类


  });


匿名内部类可以重写它继承的类的方法。常用于方法参数。

0 0
原创粉丝点击