`

静态内部类,局部内部类和匿名内部类

    博客分类:
  • Java
 
阅读更多
//局部内部类和其他类一同被编译,但是局部内部类有自己的作用域,超出那个范围即无效
//第一种情况:在函数内
public class InnerClass {
public A a(){
		class AA implements A{
			int a=3;
			@Override
			public int value() {
				System.out.print(a*4);
				return 3*a;
			}
			}
		return new AA();
		
	}
}
public class Test {

	/**
	 * @param args
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
     InnerClass innerClass=new InnerClass();
     A aa=innerClass.a();
     aa.value();
	}

}
public interface A {
     int   value();
}
//第二种情况:在代码块内
public class InnerClass {
public void a(boolean b) {
		if (b) {
			class AA implements A {
				int a = 3;
				@Override
				public int value() {
					System.out.print(a * 4);
					return 3 * a;
				}
			}
			A hiA=new AA();
			hiA.value();
		}
}
public class Test {

	/**
	 * @param args
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
     InnerClass innerClass=new InnerClass();
     innerClass.a(true);
	}

}
public interface A {
     int   value();
}
	}
//匿名内部类
public class InnerClass {
public A a() {
			return new AA(){
				private int i=9;
				public int value() {
					System.out.println(i);
					return i;
				}
			};
		}
public class Test {

	/**
	 * @param args
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
     InnerClass innerClass=new InnerClass();
     A dAa= innerClass.a();
     dAa.value();
	}

}
public interface A {
     int   value();
}
public class AA implements A {

	@Override
	public int value() {
		// TODO Auto-generated method stub
		return 0;
	}

}

}

分享到:
评论

相关推荐

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

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

    内部类的相关知识-静态内部类,匿名内部类……

    本文详细介绍了 Java 中内部类的各种类型及其使用场景,包括静态内部类、非静态内部类、局部内部类以及匿名内部类。每种类型的内部类都有其独特的特性和应用场景,理解这些差异对于更高效地利用 Java 语言特性至关...

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

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

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

    内部类可以分为四类:成员内部类、局部内部类、匿名内部类和静态内部类。在这里,我们重点关注成员内部类和静态内部类。 成员内部类,就像它的名字一样,是类的一个成员,与字段和方法处于同一级别。它可以访问外部...

    Java的内部类讲解案例代码(成员内部类、局部内部类、匿名内部类、静态内部类、外部类访问四种内部类、其他类访问四种内部类...)

    - 不同类型的内部类(静态内部类、成员内部类、局部内部类和匿名内部类)的区别和用法 - 内部类的优缺点以及使用场景 这些目标将帮助你理解和掌握内部类的概念,并能够在适当的时候使用内部类来解决问题...

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

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

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

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

    java和kotlin的内部类静态嵌套类

    内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态嵌套类。其中,静态嵌套类是与外部类关联但不持有对外部类的引用,因此它可以像普通类一样被静态引用,而无需外部类实例。 Java的静态嵌套类通常用于...

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

    本文将详细探讨内部类、匿名内部类以及内部接口的对比和使用。 首先,让我们了解一下内部类的基本概念。内部类定义在其他类的内部,编译后会生成两个独立的类文件。内部类能够自由地访问外部类的所有成员,包括私有...

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

    内部类可以是静态的,也可以是非静态的,而匿名内部类则是一种没有名字的内部类,通常用于快速实现简单的回调或者接口实现。这篇总结将深入探讨匿名内部类的相关知识点。 1. **匿名内部类的概念** 匿名内部类是...

    java 匿名内部类的使用规范

    - **非静态成员**:匿名内部类拥有对外部类的隐式引用,可以访问外部类的非静态成员,但必须通过`OuterClass.this`来明确指出。 3. **局部变量的final限制** 如果匿名内部类需要访问局部变量,那么这个局部变量...

    使用内部和匿名类优化Java代码

    静态内部类与普通类的行为相似,但能直接访问外部类的静态成员,而非静态内部类则可以访问外部类的所有成员,包括实例变量和方法。非静态内部类在创建时会隐式持有对外部类实例的引用,因此需要外部类的实例来实例化...

    局部内部类和匿名内部类使用局部变量为什么要final1

    局部内部类和匿名内部类是Java中的一种特性,它们允许我们在方法内部定义类。然而,一个重要的限制是,这些内部类只能访问在其作用域内的final或者实际上等效于final的局部变量。这是因为内部类可能在外部方法结束后...

    Java中的静态内部类详解及代码示例

    Java中的内部类主要分为四种:成员内部类、局部内部类、匿名内部类和静态内部类。 成员内部类是最普通的内部类,它是一个普通的类定义在另一个类的内部。成员内部类可以直接访问外部类的属性和方法,即使是private...

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

    2. 局部内部类:在方法中定义的内部类,局部内部类不能有访问说明符,因为它不是外围类的一部分,但是它可以访问当前代码块内的常量,和此外围类所有的成员。 3. 静态内部类:静态内部类是指在外部类的静态成员中...

    匿名内部类核心重点知识讲解和经典例子讲解

    - **局部内部类**:在方法或作用域内定义,只能访问该作用域内的变量(需final修饰)和外部类的静态成员。 3. **匿名内部类与接口** - **实现接口**:匿名内部类可以直接实现一个接口,并提供接口中所有方法的...

    内部类分类及应用

    内部类可以分为四种:成员内部类、静态嵌套类、方法内部类和匿名内部类。每种内部类都有其特点和应用场景。 一、成员内部类 成员内部类是指定义在外部类中的内部类。它们可以访问外部类的所有成员变量和方法,无论...

    匿名类/内部类/本地类 解读

    内部类分为成员内部类、局部内部类和匿名内部类。成员内部类就像是外部类的一个成员变量,可以在外部类的任何地方使用;局部内部类则定义在方法或代码块内,其作用域仅限于该方法或代码块。例如: ```java public ...

    内部类和匿名类大汇总

    内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类就像是一个类的成员,它可以直接访问外部类的所有成员,包括私有成员。局部内部类定义在方法或作用域内,它的生命周期仅限于该方法...

    从零开始学JAVA第12章_内部类.ppt

    内部类可以分为非静态内部类、局部内部类、静态内部类和匿名内部类四种。 非静态内部类是指定义在另一个类的非静态成员中的类。非静态内部类可以访问外部类的成员变量和成员方法,同时也可以被外部类访问。在外部类...

Global site tag (gtag.js) - Google Analytics