1. 内部类

    内部类就是在一个类的内部定义的类,有:静态内部类、成员内部类,局部内部类、匿名内部类。

    -1) 静态内部类:使用static修饰,声明在类体中, 静态内部类中可以访问外部类的静态成员,开发很少用

        wKiom1VlK7rAT6rWAAI2cAP7Yb8231.jpg

    -2) 成员内部类:声明在类体中,不使用static,具有类的成员特征,也就是,必须有类的实例才能创建内部类实例,内部类实例可以访问共享外部类的成员变量

        wKioL1VlLWPQOVPoAAH5Ylbn21k437.jpg

    -3) 局部内部类:把类声明在方法中,就是局部内部类,作用域类似局部变量,出了方法就不能使用该类。

        wKioL1VlLXKQRw0oAAHTh2ctHkc275.jpg

    -4) 匿名内部类:非常常见,可以写在任何地方,就像一般的语句,语法更象是创建对象:TimerTask task = new TimerTask(){ };匿名类是对原类的一个继承,同时创建了实例,{ }就是继承以后的类体,类体中可使用所有类的语法,匿名类不能写构造器,匿名类可以从抽象类或者接口继承,必须提供抽象方法的实现. 如果匿名内部类还要用到同一个方法中的变量或对象, 要求把这个参数的引用声明成final的。

        wKiom1VlLAGROhWjAAHcDPAXdr8558.jpg


2. 计时器Timer类

    Timer是JDK提供的一个计时器类,它和TimerTask计时器任务类一起使用,用来实现定时执行任务。


    wKioL1VlLb3QH_jVAAKEGrgevZ0352.jpg


    wKiom1XFy02DsqjVAAMGBgcSu08064.jpg