/*
* 内部类简单的说就是在类或者方法/代码块中再定义一个类,就是嵌套。
* 内部类分为有名内部类和匿名内部类,其中有名内部类又分为局部内部类和成员内部类,
* 成员内部类又分为实例成员内部类和静态成员内部类。
* 之前记录了成员内部类的实例成员内部类和静态成员内部类,也记录了局部内部类。也就是记录了有名内部类。
* 接下来记录匿名内部类,匿名内部类就是没有名字的局部内部类,定义在方法或者代码块中,其作用域仅限于方法或者代码块中,
* 访问级别只能时默认的,不能是静态的,可以访问外部的所有成员,
* 如果匿名内部类定义在方法中,则他访问的参数需要声明为final的。
*/
package myfirst_Java;
public class Hello {
//主程序入口
public static void main(String[] args) {
// 实例化外部类,并调用外部类方法
Outer outer=new Outer();
// 注意我们直接在实例化接口的时候,重写了接口的方法,而且是直接在外部类的方法参数内进行的
// 调用外部方法outer.print1(),括号中就是匿名内部类
outer.print1(new Inter() {
@Override
public void print2() {
// TODO Auto-generated method stub
System.out.println("我是匿名内部类");
}
});
}
}
//定义一个接口
interface Inter{
void print2();
}
//定义外部类
class Outer{
// 外部类方法,参数是一个接口,注意接口也可当参数传递
public void print1(Inter in){
// 在外部类中实现接口的方法
in.print2();
}
}
Python每日一记169>>>Java内部类之匿名内部类
最新推荐文章于 2024-09-30 12:11:46 发布