java面向对象2(18) 内部类的详解
通用格式:public class A{class B{//内部类}}静态内部类,成员内部类,局部内部类匿名内部类 |
---|
二. 静态内部类
public class Outer{static class Inner{//可以无视修饰符,随时访问外部类的静态成员}}
Outer.Inner x = new Outer. Inner(); |
---|
三. 成员内部类
public class Outer{class Inner{//其他代码}}
Outer.Inner x = new Outer().new Inner(); |
---|
小结:
静态内部类:定义类加入static静态内部类只能访问外部类的静态内容new Outer.Inner();成员内部类:定义类无static成员内部类可以访问外部类全部内容成员内部类中不能定义静态内容new Outer().new Inner(); |
---|
四. 局部内部类(了解)
public class Outer{public void xxx{class Inner{//其他代码}}}
只能在外部类的方法内部 创建对象并访问。 |
---|
五. 匿名内部类【阶段重点】
没有类名的内部类,匿名内部类Java中,接口和抽象类不能直接创建对象,可以通过匿名内部类,使得接口和抽象类快速实现并创建对象快捷继承抽象类,为抽象类创建对象:格式:new 抽象类名(){//重写抽象类方法}; |
---|
快捷实现接口,为接口创建对象:格式:
new 接口名(){
//实现接口中所有的抽象方法
};
匿名内部类:
-
快捷为抽象类定义子类,创建对象
-
快捷为接口定义实现类,创建对象
今日总结:
内部类:类中定义另一个类。有名字:静态内部类:public class A{static class B{//可以无视访问权限修饰符,访问外部类任意静态内容}}成员内部类:public class A{class B{//可以无视访问权限修饰符,访问外部类任意内容//限制:不能主动定义静态内容}}局部内部类:方法中定义了一个内部类没有名字:匿名内部类:用于快捷继承抽象类,创建对象:new 抽象类(){//重写抽象类中所有抽象方法。};用于快捷实现接口,创建对象:new 接口(){//重写接口中所有抽象方法。}; |
---|
请给努力中的自己点个赞哦!
每天进步一点点`~~~~~