关闭

java 匿名内部类

398人阅读 评论(0) 收藏 举报

最近在看面试题,发现一些基础的知识没有掌握,本篇强调匿名类的几个知识点:

 

使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。蓝色字体部分是我以前没有理解到的,下面给出一段示例代码:

 

  1. public class TestAnonymousInterClass{   
  2.     public static void main(String args[]){   
  3.         TestAnonymousInterClass test=new TestAnonymousInterClass();   
  4.         test.show();   
  5.     }   
  6.     //在这个方法中构造了一个匿名内部类   
  7.     private void show(){   
  8.         new Out(){// 获取匿名内部类实例   
  9.                
  10.             void show(){//重写父类的方法   
  11.                 System.out.println("this is Anonymous InterClass showing.");   
  12.             }   
  13.         }.show();   
  14.             }     
  15. // 这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现   
  16. class Out{   
  17.     void show(){   
  18.         System.out.println("this is Out showing.");   
  19.     }   
  20. }  
  21. }

程序运行的输出结果为:

 

this is Anonymous InterClass showing.

 

   所以在这里看出,匿名内部类有了自己的实现。其实很简单,使用匿名内部类是因为我这地方需要有点什么特殊的实现。

   接口的方式,只要把父类换成接口就行了,没必要给出代码了。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:348356次
    • 积分:3236
    • 等级:
    • 排名:第10513名
    • 原创:45篇
    • 转载:56篇
    • 译文:0篇
    • 评论:34条
    文章分类
    最新评论