大数据系列修炼-Scala课程24(1)

大数据系列修炼-Scala课程24(1)

核心内容:
1、Java中的匿名类

1、Java中匿名类的概念、访问范围

1>匿名类是一种特殊的内部类
2>如果在一个方法的内部类定义了一个匿名类,则该匿名类可以访问:
(1)外部类的所有成员(试用一切内部类)
(2)包裹该匿名类的方法中的所有final类型的局部变量,其中非final类型的局部变量无法被匿名类访问

实例程序:

public class App2
{
    public static void main(String[] args)
    {
        final Frame f = new Frame("内部类");   //包裹该匿名类的方法中的final类型的局部变量
        f.setBounds(100, 100, 200, 200);
        f.addWindowListener(new WindowAdapter()   //创建匿名类之实现抽象类
           {
              public void windowClosing(WindowEvent e) 
              {
                  f.setBounds(200, 200, 400, 400);  //包裹该匿名类的方法中的final类型的局部变量
                  try
                  {
                    Thread.sleep(5000); //效果可见5s
                  } catch (Exception e1){}
                  System.exit(-1);
              } 
           });
        f.setVisible(true); 
    }   
}
2、创建匿名类的3种方式

1>创建匿名类之实现接口 (生成了一个实现接口的匿名类对象)
2>创建匿名类之继承抽象类(生成了一个继承抽象类的匿名类对象)
3>创建匿名类之继承父类 (生成了一个继承父类的匿名类对象)

实例程序:

public class App2
{
    public static void main(String[] args)
    {
        final Frame f = new Frame("内部类");   //包裹该匿名类的方法中的final类型的局部变量
        f.setBounds(100, 100, 200, 200);
        f.addWindowListener(new WindowAdapter()   //创建匿名类之实现抽象类
        {
           public void windowClosing(WindowEvent e) 
           {
              f.setBounds(200, 200, 400, 400);  //包裹该匿名类的方法中的final类型的局部变量
              try
              {
                Thread.sleep(5000); //效果可见5s
              } catch (Exception e1){}
              System.exit(-1);
           }    
        });
        Button b = new Button("OK");
        b.addActionListener(new ActionListener()//创建匿名类之实现接口
        {   
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("OK");
            }
        });
        b.setBackground(Color.YELLOW);
        f.add(b);
        f.setVisible(true); 
    }   
}

你可能感兴趣的:(scala,大数据)