java学习——内部类、匿名内部类

    本文由广州疯狂软件java培训分享:

  一、常见内部类

  class

  {

  public static void main(String[] args)

  {

  System.out.println("Hello World!");

  }

  }

  class Outer

  {

  class Inner

  {

  void run()

  {

  System.out.println("hello")

  }

  }

  }

  //内部类可以直接调用外部类的方法,相当于内部类具备默认的Outter.this。

  //外部类需要new出内部类对象才能调用,亦或者内部类在外部类的成员位置上静态修饰,才可以由类名直接调用内部类方法

  二、静态内部类

  静态内部类,存在于外部类的成员位置的内部类可以被public private static 修饰,当static修饰的时候他就是静态内部类。静态的内部类就相当于不存在内部类,其内部方法外部可以直接调用。

  三、匿名内部类

  class Fu

  {

  }

  class Outer

  {

  new Fu(){

  void run()

  {

  System.out.println("hello")

  }

  }

  }

  //匿名内部类必须继承一个父类或者接口,当没有可继承的对象时,可以继承Object

  class Outer

  {

  new Object(){

  void run()

  {

  System.out.println("hello")

  }

  }.run();

  }

  //匿名内部类存在于局部变量位置

  class Fu

  {

  void run(){}

  }

  class Outer

  {

  void inner()

  {

  function(new Fu(){

  void run()

  {

  System.out.println("hello")

  }

  });

  }

  void function(Fu f)

  {

  f.run();

  }

  }

  //匿名内部类,调用的对象引用类型为父类,所以说如果内部类中有多个方法,需要对对象命名时,父类引用类型的对象无法调用子类特有的方法。

  疯狂软件教育中心依托开发团队的强大技术实力,把企业最新技术融入实训课程,打造金牌的品质,才能给予学员黄金的未来,疯狂软件凭借过硬的技术实力与丰富的项目开发经验,赢得了社会的肯定。疯狂软件Java培训师资力量强大,课程内容深入,为学员高薪就业做了很好的铺垫,拥有丰富就业指导经验的就业团队也成为了学员高薪就业的先天优势。地址:广州天河区车陂沣宏大厦3楼。

java学习——内部类、匿名内部类,布布扣,bubuko.com

java学习——内部类、匿名内部类

上一篇:(转)(C++)关于抽象基类和纯虚函数


下一篇:webService发布在IIS服务器上