java学习 十六、内部类

定义:内部类是指在一个外部类的内部再定义一个类。

内部类作为外部类的成员,并且依附于外部类而存在。

内部类可为静态,可用protected和private修饰,而外部类只能使用public和缺省的包访问权限。

内部类有4中形式:静态内部类、成员内部类、局部内部类、匿名内部类

静态内部类:

    1)使用static修饰,声明在类中。

    2)静态内部类中可以刚问外部类的静态成员。

    静态内部类的使用方法如下图所示:

        

成员内部类:

    1)声明在类中,不使用static修饰,具有类的成员特性,也就是,必须有类的实例才能创建内部类实例。

    2)成员内部类实例可以访问共享外部类的成员变量。

    3)成员内部类中不能存在static修饰的方法、属性或者代码块等

    成员内部类的使用方法如下图:

        java学习 十六、内部类_第1张图片

局部内部类:

    把类声明在方法中就是局部内部类,作用域仅为所在的方法,类似局部变量。

    局部内部类的使用方法如下图所示:

        

匿名内部类:

    1)匿名内部类可以写在任何地方,就像一般的语句。

    2)语法一般为:Xxx  xxx = new Xxx(){……}

    3)匿名类是对原类的继承,同时创建了实例,{}内部就是继承后的类体。类体中可以使用原类的所有语法。

    4)匿名类中不可以写构造器

    5)匿名类可以从抽象类或者接口继承,必须提供抽象方法的实现。

    匿名内部类的使用方法如下图所示:

        

你可能感兴趣的:(java入门,java,编程语言)