内部类

1.      在一个类中定义另一个类,这个类就叫内部类或内置类(inner class)(310.swf

2.      内部类可以让我们将逻辑上相关的一组类组织起来,并由外部类(outer class)来控制内部类的可见性。

3.      当我们建立一个inner class时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的this reference形成的,似的内部类对象可以随意的访问外部类中所有的成员。

4.      在其他类中,调用另一个类的内部类,要用该类名.内部类名Outer.Inner

New时也要用Outer.Inner inner=outer.new Inner();//要针对一个对象

5.      在方法内部区定义一个类的时候,如果说在类当中,要区访问方法中的参数或方法中定义的局部变量(也可以叫做本地变量),必须将其声明为final(常量),才可以在类的内部区访问,否则,会报错。

6.      若一个类的修饰符是final,则代表该类不能有派生类

7.      若内部类声明为static,则不能访问外部类中的非静态成员或方法,只能访问静态的成员或方法

访问静态成员时,直接 外部类名+成员名

8.      易错:非静态类中,不能定义静态的方法

9.      在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明为final

10.   内部类可以声明为privateprotected;还可以声明为abstractfinal

11.   内部类可以声明为static的,但此时就不能在使用外部类的非static的成员变量和非static的成员方法;

12.   static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中才可以声明static成员。

13.   匿名类

return new Animal()

          {

 

                   public void eat()

                   {

                            System.out.println("animal eat");

                   }

                   public void sleep()

                   {

                            System.out.println("animal sleep");

                   }

          };

14.   在内部类(inner class)中,可以随意的访问外部类的成员,这可以让我们更好地组织管理我们的代码,增强代码的可读性。

15.   内部类可以用于创建适配器类,适配器类是用于实现接口的类。使用内部类来实现接口,可以更好地定位于接口关联的方法在代码中的位置。

16.   在外部类中,如果想访问内部类中的成员,需要首先产生内部类的一个成员,然后利用这个对象去引用它的成员

17.   可以用内部类去实现接口,来隐藏实现的细节

18.   C++的多重继承在使用的时候经常会出现一些问题,而在java中使用接口和内部类就能很好的避免这些问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值