一般内部类中都不能包含static修饰的属性、方法以、块以及类。
局部内部类(本地类)
Java允许在构造器、方法以及任意的作用域内创建内部类。局部内部类不能使用访问修饰符来修饰,因为它只在创建它的作用域内可见。
局部内部类同样拥有外部类的引用,而且它还可以使用所有作用域的局部变量及方法参数,但要求它们必须是final的。
静态内部类(嵌套类)
如果不需要内部类对象与其外部类对象之间有联系,那么可以将内部类声明为static。这通常称为嵌套类。嵌套类与普通内部类不同,它没有外部类的引用。但是它可以访问外部类的静态属性及方法,而且嵌套类可以声明static属性、方法、块以及嵌套类。
public class Outer {
......
public static class Inner {
......
}
}
在其他类中创建嵌套类对象比较简单,其格式如下:
Outer.Inner oi = new Outer.Inner();
Java允许在接口中包含嵌套类,在接口中定义的类隐式都是public static的。你可以把A接口的实现类做为A接口的嵌套类。
嵌套类除了可以访问外部类的static属性及方法外,与一般类基本相同。
总结:
内部类包括一般内部类、局部内部类、匿名内部类及嵌套类(静态内部类)。
其中嵌套类没有外部类的引用,但可以访问外部类的static属性及方法,包括私有的static属性及方法。
局部内部类只在定义的块内可见,所以不能使用访问修饰符来修饰它。局部内部类可以访问其所在块中声明的局部final变量。
匿名内部类没有名字,也不能有命名的构造器,但可以在实例化块中获取参数。匿名内部类必须且仅能显式指定一个父类或实现接口。匿名内类部只能使用一次。
来源:qdmmy6文档
分享到:
相关推荐
在使用匿名内部类时,要记住以下几个原则:匿名内部类不能有构造方法、匿名内部类不能是public、protected、private、static、只能创建匿名内部类的一个实例、匿名内部类不能定义任何静态成员、静态方法、一个匿名...
内部类是Java编程语言中的一种特性,它允许我们在一个类的内部定义另一个类。这种设计模式在Android开发中尤其常见,因为它可以有效地管理代码和实现特定的功能。本文将详细探讨内部类、匿名内部类以及内部接口的...
在Java编程语言中,内部类和匿名内部类是两种特殊类型的类,它们为代码的组织和功能实现提供了独特的灵活性。本教程"Java4Android 35_内部类和匿名内部类"深入探讨了这两个概念,旨在帮助开发者更好地理解和运用它们...
内部类分为几种类型,包括成员内部类、局部内部类、匿名内部类以及方法参数内部类。 1. **成员内部类**:成员内部类就像是外部类的一个普通成员,可以是静态或非静态的。非静态内部类拥有对外部类的引用,可以直接...
根据不同的应用场景和特性,内部类可以分为多种类型:成员内部类、局部内部类、静态内部类、匿名内部类。下面将详细介绍每种类型的内部类及其特点和使用方法。 #### 成员内部类 成员内部类(也称为非静态内部类)...
本篇文章将深入探讨Java中的四种内部类:实例内部类、局部内部类、匿名类和静态内部类,并通过实例代码进行详细解析。 1. **实例内部类**:这是最常见的内部类形式,它在外部类的实例方法或成员位置定义。实例内部...
Java内部类是Java语言的一个独特特性,它允许我们在一个类的内部定义另一个类。这种设计提供了更高级别的封装和组织代码的方式。以下是关于内部类及其相关知识点的详细说明: 1. **内部类基本语法** - **实例内部...
内部类可以分为四种:成员内部类、静态嵌套类、方法内部类和匿名内部类。 成员内部类 成员内部类是定义在外部类的成员变量中的一种内部类。它可以访问外部类的所有成员变量和方法,包括私有的变量和方法。成员内部...
内部类可以分为四类:成员内部类、局部内部类、匿名内部类和静态内部类。在这里,我们重点关注成员内部类和静态内部类。 成员内部类,就像它的名字一样,是类的一个成员,与字段和方法处于同一级别。它可以访问外部...
内部类主要分为四种类型:静态内部类、成员内部类、局部内部类和匿名内部类。 1. 静态内部类(Static Inner Class) 静态内部类与普通的类类似,只是它们定义在外部类中,并且前面带有 `static` 关键字。它们不会...
首先,内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类就像其他成员变量一样,可以直接访问外部类的所有成员,包括私有成员。局部内部类只存在于某个方法内,它的作用范围更小,...
### Java内部类详解 #### 一、内部类的分类与概念 Java的内部类机制是其强大特性之一,它允许类作为另一个类的成员存在,从而增强了代码的封装性和复用性。根据定义和作用域的不同,Java内部类主要分为四类: 1. ...
Java 嵌套类和内部类详解 Java 中的嵌套类和内部类是指在一个类的内部定义另一个类,这种类称为嵌套类(nested classes)。嵌套类有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类使用很少,非静态嵌套类也即被称...
内部类可以是静态的,也可以是非静态的,而匿名内部类则是一种没有名字的内部类,通常用于快速实现简单的回调或者接口实现。这篇总结将深入探讨匿名内部类的相关知识点。 1. **匿名内部类的概念** 匿名内部类是...
内部类可以分为四种类型:静态内部类、成员内部类(非静态内部类)、局部内部类和匿名内部类。 1. **静态内部类**: 静态内部类与普通的成员内部类不同,它不持有对外部类的引用。因此,可以像其他静态成员一样,...
Java内部类主要包括以下几种类型:成员内部类(非静态内部类)、静态内部类(也称为静态嵌套类)、局部内部类和匿名内部类。 - **成员内部类**:这种类型的内部类是定义在外部类的一个成员位置上,它可以访问外部类...
首先,我们来看成员内部类。成员内部类就像普通的类成员,可以是静态的或非静态的,它可以访问外部类的所有成员,包括私有成员。这种类型的内部类可以在类的任何地方实例化,只要外部类的对象已经存在。通过外部类的...
接下来,我们来看看如何创建和使用内部类。创建内部类的方式很简单,只需在外部类中定义一个类即可。例如: ```java public class OuterClass { private int outerVar = 10; public class InnerClass { public ...
内部类分为四类:非静态成员内部类、静态成员内部类、局部内部类和匿名内部类。接下来将逐一介绍这四种类型的内部类。 #### 二、非静态成员内部类 非静态成员内部类是最常见的一种内部类形式,它具有以下特点: 1...
Java 中的匿名内部类总结 Java 中的匿名内部类是一种特殊的内部类,它没有名字,因此也称为匿名类。匿名内部类是一种简洁的编程方式,能够简化代码编写,但它也有一些限制和特点。 匿名内部类的定义 匿名内部类是...