Java內隐类(Java Inner Class)

內隐类是一个定义在Class中的Class,有static和非static两种。inner class是外部类的一个成员变量。non-static的inner class可以访问外部类的所有变量。因为inner class是外部类的一个成员变量,其可以用public、private、protected和package private等modifier来定义。

       Static Nested Classes

       正如一个类的静态变量,static inner class属于其外部类,不属于外部类的instance(object),他不能访问外部类的非静态变量。static inner class只能通过外部类的instance(object)来访问外部类的非静态变量。

       注意:

         static inner class其实和普通的类基本一样。要想使用静态内部类需要使用以下格式:

         OuterClass.StaticNestedClass  nestedObject =new  OuterClass.StaticNestedClass();

         Non-static Inner Class

       Non-static inner class与外部类的非静态成员变量类似,它属于外部类的instance(对象),能够访问外部类对象的所有成员变量和方法。由于其能够访问外部类对象的成员变量和方法,因此他不能定义静态变量和静态方法。


内部类的对象只能存在于外部类的对象之中

       由于内部类的对象只能存在于外部类的对象之中,因此,要声明一个内部类的对象,需要先实例化外部类的一个对象。具体的语法格式如下:

        OuterClass.InnerClass innerObject = outerObject.new InnerClass();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值