对于java来说,可以把java的类看作一个物种,比如人类,实例为一个单独的人(个体)。那么类属性->人的皮囊、组织,五藏九窍十二节,静态属性(全局变量)是衣服裤子-这些是属于某个人,但别人也可以用的。方法即人的功能,能力,ability,静态方法为某些人创造的别人也可以学习的能力,比如编程 :)。

至于内部类,稍有些复杂,内部类整体可以看作依托于人类的另一种独特的物质(根据内部类最典型的特点/优势,即仅由内部类使用),比如寄生虫,比如典型特征,比如疾病等等。

静态内部类是小圈子具备的一个特征,比如某种寄生虫,某种病毒,某种纹身,某种疾病,最典型的是寄生虫。比如我纹了一个关公在身上,这个关公纹身就是一个静态内部类,别人也可以用,属于人类,但不属于我(实例)

成员内部类(也叫内部类):只属于当前人的特征、寄生虫、疾病等。

局部内部类:在方法中的类。可以理解为某些行为要临时的、小的数据结构,即用既废的东西。比如火影在对战时创造的一次性的武器。这个目前还没想到好的比喻,可以理解为临场发挥?临场写一首词,唱一首歌?

匿名内部类:跳过实例化步骤,直接使用功能。
首先,在说法上,可以用嵌套类(Nested class)表示内部类(Inner class)。

  1. 可以嵌套无穷层 - 但基本没有超过一层的,超过为糟糕设计。

使用场景:

  1. 不会在任何其他上下文中使用时
  2. 需要特殊及便捷的访问权限。
  3. 当该类型只属于其包装类(OuterClass)使用,是其独特的类型。

分类:

静态类:声明为另一个类的静态成员
(成员)内部类:声明为另一个类的实例成员
局部内部类:在另一个类的实例方法中声明
匿名内部类:类似于本地内部类,但写为返回一次性对象的表达式


yizheng
301 声望27 粉丝

一蓑烟雨任平生