`
weick
  • 浏览: 70356 次
  • 性别: Icon_minigender_1
  • 来自: 天堂的隔壁
社区版块
存档分类
最新评论

为什么要内部类

 
阅读更多

(1)内部类可以有多个实例,每个实例都有自己的状态信息,并且与其外围类对象的信息相互独立。
(2)在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。
(3)如果拥有的是抽象的类或具体的类,而不是接口,那只能使用内部类才能实现多重继承,下面是个简单的例子:
  

class D{}
abstract class E{}
class Z extends D
{
  E makeE(){ return new E(); }
}
  
public class MutiImplementation
{
  static void takesD(D d){}
  static void takesE(E e){}
  public static void main(String[] args)
       {
      Z z=new Z();
      takesD(z);
      takeE(z.makeE());
   }
}

   
(4)创建内部类对象的时刻并不依赖于外围类对象的创建。
(5)内部类并没有令人迷惑的“is-a”关系;它就是一个独立的实体。

分享到:
评论

相关推荐

    内部类分类及应用

    在使用匿名内部类时,要记住以下几个原则:匿名内部类不能有构造方法、匿名内部类不能是public、protected、private、static、只能创建匿名内部类的一个实例、匿名内部类不能定义任何静态成员、静态方法、一个匿名...

    内部类 匿名内部类 内部接口 对比说明

    内部类是Java编程语言中的一种特性,它允许我们在一个类的内部定义另一个类。这种设计模式在Android开发中尤其常见,因为它可以有效地管理代码和实现特定的功能。本文将详细探讨内部类、匿名内部类以及内部接口的...

    Java4Android 35_内部类和匿名内部类

    在Java编程语言中,内部类和匿名内部类是两种特殊类型的类,它们为代码的组织和功能实现提供了独特的灵活性。本教程"Java4Android 35_内部类和匿名内部类"深入探讨了这两个概念,旨在帮助开发者更好地理解和运用它们...

    java 内部类使用(内部匿名类)

    内部类分为几种类型,包括成员内部类、局部内部类、匿名内部类以及方法参数内部类。 1. **成员内部类**:成员内部类就像是外部类的一个普通成员,可以是静态或非静态的。非静态内部类拥有对外部类的引用,可以直接...

    JAVA 内部类 PPT

    7. **为什么需要内部类** - 内部类的主要用途包括: - 提供更强的封装性,可以隐藏实现细节。 - 定义事件处理器,如Swing中的匿名内部类。 - 实现特定的逻辑关联,使得代码结构更清晰。 - 创建闭包,实现函数式...

    内部类的分类及各自用法

    匿名内部类实际上是没有名字的内部类,它通常用于创建一个类的实例而不必为其定义一个类名。匿名内部类经常用于实现接口或继承父类时,当只需要创建一次该类的实例时特别有用,因为它简化了代码结构并提高了程序的...

    内部类的使用

    总之,熟练掌握内部类的使用可以提升代码的灵活性和可读性,而Stream API则为我们提供了一种高效处理集合数据的新途径。通过深入学习这两部分知识,开发者可以在Java编程中更加得心应手,写出更加优雅和高效的代码。

    java 内部类 局部内部类 匿名类 实例代码

    本篇文章将深入探讨Java中的四种内部类:实例内部类、局部内部类、匿名类和静态内部类,并通过实例代码进行详细解析。 1. **实例内部类**:这是最常见的内部类形式,它在外部类的实例方法或成员位置定义。实例内部...

    java内部类详解

    局部内部类不能声明为 static,也不能被外部类访问,除非通过方法返回。 4. 匿名内部类(Anonymous Inner Class) 匿名内部类没有名字,通常用于简短的、一次性的实现。它们常用于接口回调或简化创建继承自特定类...

    浅谈内部类与静态内部类的应用

    因为它们可以独立于外部类实例存在,所以可以在不违反单例原则的情况下,为每个外部类实例创建唯一的静态内部类实例。这种方式相比传统的单例实现,提供了更好的封装和可读性。 然而,内部类的使用并非没有代价。...

    Java语法总结 - 内部类

    内部类可以分为四种:成员内部类、静态嵌套类、方法内部类和匿名内部类。 成员内部类 成员内部类是定义在外部类的成员变量中的一种内部类。它可以访问外部类的所有成员变量和方法,包括私有的变量和方法。成员内部...

    JAVA内部类总结

    通过以上总结,我们可以看到Java内部类为程序设计提供了强大的灵活性和封装能力。每种内部类都有其特定的应用场景,了解它们的特点和区别对于编写高质量的Java代码至关重要。希望本文能帮助开发者更好地理解和应用...

    java内部类的讲解

    ### Java内部类详解 #### 一、内部类的分类与概念 ...综上所述,Java的内部类机制为开发者提供了更灵活的编程方式,有助于构建结构清晰、易于维护的软件系统。通过合理运用内部类,可以有效提升代码的质量和效率。

    java静态内部类(嵌套类)

    2. **封装**:当需要对某些类进行封装时,可以将它们定义为静态内部类,并设置为私有访问级别,从而实现对外部代码的隐藏。 3. **回调机制**:在GUI编程中,经常需要定义事件处理类作为回调。这些类可以方便地定义...

    java代码笔记2010-06-01:Java内部类 静态内部类 局部内部类 明明内部类;StringBuffer reverse的使用;

    内部类可以分为四种类型:静态内部类、成员内部类(非静态内部类)、局部内部类和匿名内部类。 1. **静态内部类**: 静态内部类与普通的成员内部类不同,它不持有对外部类的引用。因此,可以像其他静态成员一样,...

    内部类知识总结3--匿名内部类

    同时,如果匿名内部类访问了外部类的非`final`局部变量,这些变量会被隐式地转换为`final`。 7. **内部类与内存管理** 内部类的对象会持有对外部类对象的引用,因此,只要内部类对象存在,外部类对象就不会被垃圾...

    Java内部类总结

    - **局部内部类**:是在一个方法或构造器内部定义的类,可以访问该方法或构造器内的局部变量,但这些局部变量必须声明为`final`。 - **匿名内部类**:没有名字的内部类,通常用于实现接口或继承类时简化代码,主要...

    Java 深入理解嵌套类和内部类

    Java 嵌套类和内部类详解 Java 中的嵌套类和内部类是指在一个类的内部定义另一个类,这种类称为嵌套类(nested classes)。嵌套类有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类使用很少,非静态嵌套类也即被称...

    java内部类总结(含概念和实例)

    为什么需要内部类? 内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是,每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。...

    内部类示例源码

    其次,如果内部类需要被其他类访问,应将其声明为静态,这样就不需要外部类的实例就能创建内部类的实例。最后,内部类可以继承外部类,但这样的设计通常是为了实现特定的继承和多态效果,应谨慎使用。 源码示例中...

Global site tag (gtag.js) - Google Analytics