Java匿名内部类

内部类有三种:静态内部类,成员内部类,局部内部类,匿名内部类

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类


  });


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值