java有几种内部类,分别举一个例子,并且创建一个对象.

 我来答
来自学府园好奇的桔梗
2012-08-28 · TA获得超过1300个赞
知道小有建树答主
回答量:892
采纳率:0%
帮助的人:745万
展开全部
成员内部类
class Outer {

  class Inner{}

  }

  编译上述代码会产生两个文件:Outer.class和Outer$Inner.class。

方法内部类
class Outer {

  public void doSomething(){

  class Inner{

  public void seeOuter(){

  }

  }

  }

  }

  (1)、方法内部类只能在定义该内部类的方法内实例化,不可以在此方法外对其实例化。

  (2)、方法内部类对象不能使用该内部类所在方法的非final局部变量。

匿名内部类
A、继承式的匿名内部类

  public class Car {

  public void drive(){

  System.out.println("Driving a car!");

  }

  public static void main(String[] args) {

  Car car = new Car(){

  public void drive() {

  System.out.println("Driving anther car!");

  }

  };

  car.drive();

  }

  }

  结果输出了:Driving another car! Car引用变量不是引用Car对象,而是Car匿名子类的对象。

  B、接口式的匿名内部类。

  interface Vehicle {

  public void drive();

  }

  class Test{

  public static void main(String[] args) {

  Vehicle v = new Vehicle(){

  public void drive(){

  System.out.println("Driving a car!");

  }

  };

  v.drive();

  }

  }
C、参数式的匿名内部类。

  class Bar{

  void doStuff(Foo f){}

  }

  interface Foo{

  void foo();

  }

  class Test{

  static void go(){

  Bar b = new Bar();

  b.doStuff(new Foo(){

  public void foo(){

  System.out.println("foofy");

  }

  });

  }

  }

静态嵌套类
class Outer{

  static class Inner{}

  }

  class Test {

  public static void main(String[] args){

  Outer.Inner n = new Outer.Inner();

  }

  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式