`
SaraWon
  • 浏览: 43285 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Java匿名内部类

    博客分类:
  • java
 
阅读更多

匿名内部类是指没有名字的类,因为没有名字,所以只能使用一次,不能引用。

匿名内部类好处:
-通常是为了简化代码的编写
-同时匿名内部类可以访问外部类的私有成员,这打破了类的封装概念

访问外部局部变量需要是final类型:
如果是匿名内部类要访问外部的局部变量,则变量需要声明为final类型,因为Inner类会被编译为Outer.Inner,内部类和外部类的方法是在一个级别上,所以要访问外部类方法中的局部变量,变量需要用final修饰,具体可以参看以下实例。

实例1:

public class Test{
	public static void main(String args[]){
		inner inner = new Outer().outer();
		inner.printInt();
	}
}
interface inner{
	void printInt();
}
class Outer{
	public inner outer() {
		int a = 10;
		final int b = 20;
		//create inner class
		return new inner(){
			@Override
			public void printInt() {
				// if print a, compilation error
				System.out.println(b);
			}
		};
	}
}

分享到:
评论

相关推荐

    java 匿名内部类的使用规范

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他需要短时间内定义一个简单类的情况时非常有用。本篇文章将...

    Java 匿名内部类

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不定义单独类的情况下创建对象。这种类没有名字,通常用作一次性实现某个接口或继承某个类的需求。在Java编程中,匿名内部类主要用于事件处理、回调...

    16.java匿名内部类.zip

    16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名...

    浅析Java匿名内部类创建登录界面.pdf

    Java匿名内部类在创建登录界面中的应用主要体现在事件监听机制和界面组件的设置上。本文将详细阐述如何利用这些技术构建一个登录窗口。 首先,Java Swing库提供了丰富的组件用于创建图形用户界面(GUI)。在创建...

    使用Java匿名内部类实现一个简单的线程池.txt

    ### 使用Java匿名内部类实现一个简单的线程池 #### 一、引言 在现代软件开发中,线程池是管理并发任务的重要工具之一。它能够有效地控制运行中的线程数量,合理分配系统资源,避免频繁创建销毁线程带来的性能开销...

    Java匿名内部类的写法示例

    Java匿名内部类是一种特殊的内部类,它没有名称且可以直接实现接口或继承类。这种特性使得匿名内部类在Java编程中非常灵活,常用于简洁地处理一次性或者临时性的代码实现。在本文中,我们将深入探讨Java匿名内部类的...

    JAVA_匿名内部类

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不定义完整类的情况下创建对象。这种类没有名字,通常用作一次性实现某个接口或继承某个类的情况,尤其是在需要简洁代码的地方。以下是对Java匿名内部...

    Swift匿名内部类像java那样的功能改.zip

    使用swift匿名内部类,实现jave匿名内部类功能,java中的匿名内部类,可以做到的是,就是想要重写一个类中的方法,并且执行,但是不想重新定义一个类,因为只调用一次,或者调用多次,但是每次调用的实现过程都不同,这时候就...

    Java匿名内部类原理与用法详解

    Java匿名内部类原理与用法详解 Java匿名内部类是一种特殊的内部类,它没有明确的类名,并且只能被使用一次。匿名内部类可以继承一个父类或实现一个接口,但是不能继承多个父类或实现多个接口。匿名内部类不能是抽象...

    java中的匿名内部类总结

    Java 中的匿名内部类总结 Java 中的匿名内部类是一种特殊的内部类,它没有名字,因此也称为匿名类。匿名内部类是一种简洁的编程方式,能够简化代码编写,但它也有一些限制和特点。 匿名内部类的定义 匿名内部类是...

    老生常谈 java匿名内部类

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不定义单独类的情况下创建类的实例。这种类型的内部类通常用于简化代码,尤其是在处理回调、事件监听或需要快速实现一个接口的情况。下面我们将详细...

    java匿名内部类实例代码详解

    "java匿名内部类实例代码详解" Java匿名内部类是一种特殊的内部类,它没有类名,不能显示的调用new方法来创建对象。匿名内部类通常用来实现某些特殊的功能,例如在事件处理中,经常使用匿名内部类来实现事件处理器...

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

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

    Java 匿名内部类详解及实例代码

    Java匿名内部类是一种特殊的类,它没有名称,主要用于简化代码,特别是当类只在一个地方使用时。这种类可以在声明变量的同时被定义,并且可以继承一个类或者实现一个接口。下面我们将详细探讨Java匿名内部类的概念、...

    java匿名内部类实例简析

    Java匿名内部类是一种特殊的类,它没有被赋予一个独立的名称,而是直接在使用时定义。这种类通常用于快速实现某个功能,特别是当只需要用一次的情况。匿名内部类可以是类的子类(继承)或者实现一个接口。下面将详细...

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

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

    java匿名内部类笔试题-100ask:韦东山视频学习笔记

    java匿名内部类笔试题

    java中匿名内部类详解

    Java中的匿名内部类是一种特殊的类,它没有名称且通常用于一次性使用的情况,目的是简化代码编写。下面我们将深入探讨匿名内部类的各个方面。 1. **匿名内部类定义**: 匿名内部类,正如其名,是没有名字的类。它...

    170331-01.匿名内部类总结.java

    170331-01.匿名内部类总结.java 170331-01.匿名内部类总结.java 匿名 内部类 总结 java

    Android开发匿名内部类

    在Java编程语言中,匿名内部类是一种特殊的类,它没有名字,通常用于简化代码和实现特定功能,如事件处理或接口快速实现。在Android开发中,匿名内部类的应用尤其广泛,因为Android框架中的许多组件(如按钮、文本...

Global site tag (gtag.js) - Google Analytics