黑马程序员技术交流社区

标题: 内部类问题 [打印本页]

作者: 左耳的鱼    时间: 2013-6-26 22:02
标题: 内部类问题
本帖最后由 左耳的鱼 于 2013-6-27 22:57 编辑

class Test{
public static void main(String[] args){
  Outer o=new Outer();
  o.show();
}
}
class Outer{
public void show(){
  new Outer1(){
   public void method(){
    System.out.println("haha");
   }
   public void method2(){
   System.out.println("xixi2");
   }
  }.method();
  new Outer1(){
   public void method(){
    System.out.println("haha");
   }
   public void method2(){
    System.out.println("xixi2");
   }
  }.method2();
}
}
class Outer1{
public void method(){
  System.out.println("xixi");
}
public void method2(){
  System.out.println("xixi2");
}
}
今天学了内部类,什么时候用到内部类??什么时候用到匿名内部类
作者: 王楚鑫    时间: 2013-6-26 22:23
简单说,内部类就是在一个类中可再内含一些“类”的结构定义。

当内部类只对外围类的内容有意思,或者当它的功能需要依赖其“外围类”
时,就可以让它成为内部类,而非一般对立的类。

匿名类大多用于成员函数之内

再贴个我的代码
  1. /*创建一个类DotNew,在此类内部定义一个内部类Inner,生成一个内部类对象*/
  2. public class DotNew {
  3.   public class Inner {}
  4.   public static void main(String[] args) {
  5.     DotNew dn = new DotNew();
  6.     DotNew.Inner dni = dn.new Inner();
  7.    
  8.   }
  9. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2