码迷,mamicode.com
首页 > 编程语言 > 详细

java 关于匿名内部类

时间:2015-04-04 18:20:34      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

1,简单来说就是 Tthread类(线程类) 中的一个方法 Thread.currentThread() 是指获取当前运行的线程对象 例如: Thread.currentThread().getName() 就是获取当前运行的线程的名称 简单来说这就差不多了 可能不完整 谁让我是新手呢... Thread t=Thread.currentThread().getName(), t.getName. 熟记这种书写格式。对今后学习很有帮助。 2,如果匿名类实现了一个接口,它的主体必须实现接口的方法。(下面的例子超级经典) 1.interface pr   2.{   3.  void print1();   4.}   5.  6.public class noNameClass    7.{   8.   public pr dest()   9.   {   10.       return new pr(){   11.       public void print1()   12.       {   13.         System.out.println("Hello world!!");   14.       }   15.    };   16.}   17.  18.public static void main(String args[])   19.{   20.    noNameClass c =  new noNameClass();   21.    pr hw=c.dest();   22.    hw.print1();   23.}   24.}

2 package com.l;

public class DemoXiancheng2 {

 public static Demointerfence a(){   return new Demointerfence() {        @Override    public void print() {     // TODO Auto-generated method stub     System.out.println("this is a niming neibu lei");         }   };  }  public static void main(String[] args) {   // TODO Auto-generated method stub   //DemoXiancheng2 de=new DemoXiancheng2();   Demointerfence demoi=DemoXiancheng2.a();   demoi.print();

 }

} 总结:new建立了一个Demointreence的对象,而后面{...}中的操作默认作用于这个对象。请速记,匿名(父类,抽象类,接口这些玩意,这些内容需要记住,见到别慌) *一个抽象类是不能直接new 的,必须先有实现类了我们才能new出它的实现类。  上面的伪代码(方法)就是表示new 的是Father(抽)的实现类,这个实现类是个匿名内部类。 注意:    ·匿名内部类不能有构造方法。    ·匿名内部类不能定义任何静态成员、方法和类。    ·匿名内部类不能是public,protected,private,static。    ·只能创建匿名内部类的一个实例。    ·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。    ·因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。    ·内部类只能访问外部类的静态变量或静态方法。

作用:1,简化写法,省去了一个中间类 2,有一个类Child,它既想继承Parent的count()方法,又想实现ICount接口中的count方法,这个时候怎么办呢?内部类就可以大显身手了:    class Child extends Parent {      ICount getCount() {        return new ICount {          int i = 0;          int count() {           return (i *= 2);          }        }      }    }

 

java 关于匿名内部类

标签:

原文地址:http://www.cnblogs.com/pwqcode/p/4392555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!