首页 > 编程 > Java > 正文

Java局部内部类和匿名内部类定义与用法实例分析

2019-11-26 08:44:22
字体:
来源:转载
供稿:网友

本文实例讲述了Java局部内部类和匿名内部类。分享给大家供大家参考,具体如下:

一 局部内部类

1 点睛

内部类不仅可以在类中定义,也可以定义在方法体或作用域内。这样的内部类作用范围仅限于方法体或特定的作用域内,因此也称为局部内部类。

2 代码

class InnerClassTest{  int score = 95;  void inst()  {    class Inner    {      void display()      {        System.out.println("成绩: score = " + score);      }    }    Inner in = new Inner();    in.display();  }}public class ObjectInnerClass{  public static void main(String[] args)  {    InnerClassTest outer = new InnerClassTest();    outer.inst();  }}

3 运行

成绩: score = 95

二 匿名内部类

1 点睛

使用匿名内部类,必须要继承一个父类或实现一个接口。需要注意的是:匿名内部类是没有class关键字做修饰的;匿名内部类是直接使用new来生成一个对象的引用。在new之前,这个匿名内部类的父类是要先定义的。

2 代码

abstract class Bird{  private String name;  public String getName()  {    return name;  }  public void setName(String name)  {    this.name = name;  }  public abstract int fly();}public class AnonymousInnerClass{  public void birdBehaviour(Bird bird)  {    System.out.println(bird.getName() + "最高能飞 " + bird.fly() + "米");  }  public static void main(String[] args)  {    AnonymousInnerClass AnonyObjObj = new AnonymousInnerClass();    AnonyObjObj.birdBehaviour(new Bird()      {        public int fly()        {          return 1000;        }        public String getName()        {          return "小鸟";        }      });  }}

3 运行

小鸟最高能飞 1000米

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表