黑马程序员技术交流社区

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

作者: 絮缘小默    时间: 2014-3-5 22:09
标题: 内部类
学习了匿名内部类,但是我自己写不出来,所以想请同学们给我写一下内部类的样式
作者: 不冬眠的蚂蚁    时间: 2014-3-5 22:30
interface A{
public void fun1();
}
class B{
int i = 10;
public void get(A a)// 声明了一个方法get,接受一个类型为A的参数
       {
         a.fun1();
}
public void test(){
     this.get(new A()//这里就是匿名的内部类,实现了A这个接口的类,只是是匿名的,编译的时候会自动生成一个
//类名为B$1的类,这一点你可以用cmd手动编译一下,就能看见B$1.class这样一个文件,相当于你有一个B$1
//的类实现了A这个接口,然后作为get的参数传了进去
  {
   public void fun1() {
    System.out.println(i);
     }
  });
}
}
class TestNonameDemo{
public static void main(String args[]){
  B b = new B();
  b.test();
}
}
作者: 冯鸿昌    时间: 2014-3-10 01:04

作者: 向阳泪无痕    时间: 2014-3-10 11:44
外部类{

     内部类{}


就是这样
作者: 清风木扬    时间: 2014-3-27 19:45
new InterfaceClass()
{
   //代码块
    // InterfaceClass是接口,抽象类时,实现抽象方法,Override这个类的其它方法
    //InterfaceClass是普通类时,Override这个类的方法
}



enum Lamp {
         //生成一个匿名类
        YELLEW {
                @Override
                public void sayColor() {
                        System.out.println("");               
                }
        },
         //再生成一个匿名类
        RED
        {
                public void sayColor() {
                        System.out.println("");                       
                }
        }
        ;
        //抽象方法
        public abstract void sayColor();     
}











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