内部类的分类
01.成员内部类 可以访问我们外部类的所有属性和方法! 如果我们想访问内部类!必须要有外部类! 只能通过外部类来访问内部类! 001.创建外部类对象 FatherClass father=new FatherClass(); 002.通过外部类对象创建内部类对象 FatherClass.Son son = father.new Son(); 003.调用对应的方法 son.sayHello(); 注意点: 01.内部类可以拥有private,protected访问权限修饰符! 02.如果外部类和内部类有相同的属性或者方法的时候, 默认是就近原则,取内部类的属性或者方法! 我们想调用外部类的属性和方法使用 ===>外部类名.this.属性/方法名02.局部内部类 类被定义在一个方法体或者作用域中! 注意点: 001.这个类仅限于当前方法使用! 002.可以理解成局部变量03.匿名内部类 *****
注意点 001.没有名字 002.只能使用一次 003.前提:必须继承一个类或者实现某个接口 004.接口或者抽象类中的所有抽象方法必须全部实现! 在我们的程序中,有一个类只使用了一次,那么我们没有必要单独去创建一个类!这时候就使用匿名内部类!04.静态内部类 就是在内部类的修饰符上加了 static ! 静态了!不依赖于外部类了! 不能访问外部类的所有非静态的属性和方法!