`
JAVA天地
  • 浏览: 673889 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

JAVA内部类示例分析

阅读更多

内部类是非常有用的类,如果该内部类只为当前类服务,写成内部类将是非常好的选择,详细看程序中的注释:

import java.util.HashMap;
public class Test1 {
	//声明一个存储"指令"的HashMap,根据"指令"存取不同的值
	private static HashMap hashMap=new HashMap();
	//声明一个静态内部类,并在内部类声明一个抽象方法。
	private abstract static class InnerTest1{
		public abstract void print(String username);
	}
	//在静态块中对HashMap进行初使化,静态块后于静态变量初使化
	static{
		//该HaspMap存放的值是内部类,用于可以根据输入的键取到结果为InnerTest1的内部类对象
		//同时因为InnerTest1为抽象类,这里新声明的类必须继承并实现其print方法
		hashMap.put("hello", new InnerTest1(){
			public void print(String username){
				System.out.println("你好,"+username);
			}
		}
		);
		hashMap.put("bye", new InnerTest1(){
			public void print(String username){
				System.out.println("再见,"+username);
			}
		});
	}
	//根据输入的键,到HashMap中取到不同的InnerTest1内部类对象,然后就可以调用其内部的打印方法.
	public static InnerTest1 getPrinter(String param){
		Object obj=hashMap.get(param);
		if(obj!=null){
			return (InnerTest1)obj;
		}else{
			return new InnerTest1(){
				public void print(String username){
					//输入的值为非"hello"和"bye",在这里处理
				}
			};
		}
	}
	public static void main(String[] args) {
		//通过从HashMap中取得对应的InnerTest1类,再调用其内部方法
		Test1.getPrinter("hello1").print("张三");
	}
}
分享到:
评论

相关推荐

    Java内部类应用之静态内部类应用示例

    Java内部类应用之静态内部类应用示例主要介绍了Java内部类应用之静态内部类应用,结合实例形式分析了Java静态内部类的原理、功能、用法及相关操作注意事项。 一、静态内部类的定义和特点 静态内部类是使用static...

    浅谈Java内部类的四个应用场景

    通过本文,我们将深入探讨Java内部类的四个典型应用场景,并对每个场景进行详细分析,帮助初学者更好地理解并运用这一特性。 #### 二、Java内部类简介 Java中的内部类分为静态内部类(Static Inner Class)和非...

    Java 内部类的实现

    本文将通过分析给定的示例代码来深入了解Java内部类的实现方式。 #### 内部类概述 内部类可以分为以下几种类型: - **成员内部类**:作为外部类的一个成员,类似于属性或方法。 - **局部内部类**:在方法、构造器...

    java 利用反射获取内部类静态成员变量的值操作.docx

    ### Java 利用反射获取内部类静态成员变量的值操作 #### 一、引言 在Java编程中,反射是一个非常强大的工具,它允许程序在运行时检查类、接口、字段和方法的信息,并且能够创建和操作对象。本文将详细介绍如何使用...

    java内部类的使用

    ### Java内部类的使用 #### 一、内部类的基本概念 内部类是在另一个类的内部定义的类。根据定义的位置不同,内部类可以分为几种不同的类型:成员内部类、局部内部类、静态内部类和匿名内部类。这里我们主要讨论的...

    详细分析Java内部类——局部内部类

    Java内部类之局部内部类 Java内部类是一种特殊的类,它可以嵌套在其他类中,今天我们主要介绍Java局部内部类的相关知识,了解局部内部类的定义、特性和使用场景。 什么是局部内部类? 局部内部类是定义在代码块、...

    java学习笔记(内部类)汇集

    #### 四、内部类示例分析 接下来,我们将通过一个具体的例子来理解如何使用内部类以及它们与普通类的区别。 ##### 普通类实现示例 ```java public class TimerTest { public static void main(String[] args) { ...

    Java集合类性能分析

    ### Java集合类性能分析 #### 一、Java集合框架概览 Java集合框架是一个非常重要的概念,它提供了处理数据集合的标准方法。集合框架的核心部分主要包括集合接口、抽象类以及具体的实现类。 - **集合接口**:Java...

    java类修饰词和内部类详解

    Java 中的内部类是指在一个类的定义内部定义的另一个类。根据内部类的不同特性,可以分为以下几种类型: #### 1. 成员内部类 - **非静态成员内部类**:非静态内部类是与外部类的一个实例关联的,可以通过外部类的...

    java线程内部类练习.rar

    在提供的"java线程内部类练习.rar"压缩包中,可能包含了几个示例,如"12"、"10"和"11",这些文件很可能是Java源代码文件,分别展示了不同的线程内部类使用场景。通过学习和分析这些代码,我们可以更好地理解和掌握...

    java8 探讨与分析匿名内部类、lambda表达式、方法引用的底层实现的测试用例

    在Java 8中,匿名内部类、Lambda表达式和方法引用是重要的新特性,它们极大地简化了代码,提升了代码的可读性和效率。下面将详细探讨这三个知识点,并结合提供的测试用例进行分析。 1. **匿名内部类**: 匿名内部类...

    Quest JProbe教程:Java内存分析示例(节选)

    此外,JProbe还提供了一个Eclipse插件,允许开发者在Eclipse Java IDE内部进行智能代码性能分析和问题解决。 ##### 2.2 示例应用概述 JProbe附带了一系列典型的Java SE应用示例,用于演示各种内存问题及其解决方案...

    静态内部类

    #### 三、示例分析 以下是一个具体的静态内部类示例,用于更深入地理解其特性和用法: ```java public class OuterClass { static class StaticInnerClass { // 静态内部类 static private int m = 5; // 静态...

    反射私有内部类的例子

    反射是Java语言提供的一种能够在运行时分析类和对象的能力。它允许程序获取类、接口、方法和字段的信息,并可以在运行时创建和操作这些实体。反射的主要应用场景包括框架开发、动态代理、单元测试等。 #### 三、...

    基于java内部类作用的深入分析

    Java内部类是Java语言中一个独特且强大的特性,它允许我们在一个类的内部定义另一个类。内部类可以提供更好的封装性和代码组织,同时也为解决特定问题提供了新的解决方案。本篇文章将深入探讨Java内部类的作用,包括...

    java代理模式示例源码

    代理类内部持有目标类的引用,并在调用目标类方法时进行额外操作。例如,房产中介类(Proxy)会实现房东接口(Landlord),并持有一个真实的房东对象(RealEstateOwner)。当客户通过中介租房时,中介会执行一些额外...

    pl0词法分析java

    PL/0是一种简单的编程语言,由James Gosling在设计Java时作为教学示例引入,它主要用于教授编译原理和解析技术。在这个项目中,我们关注的是PL/0的词法分析器,它是编译器前端的重要组成部分。词法分析器(也称为...

    Java 并发编程示例测试

    8. **并发模式**:测试可能涉及到生产者消费者模型(`BlockingQueue`)、读者写者模式(`ReadWriteLock`)、单例模式(双检锁/静态内部类等实现)等并发编程的经典模式。 9. **并发异常处理**:线程间的异常处理是...

    JAVA课件与示例代码

    "JAVA课件与示例代码"这个压缩包包含了对学习Java编程非常有帮助的材料,包括PPT课件和实际的程序示例。下面将详细阐述Java的核心知识点,并结合23个章节的学习内容进行解析。 **第1章:Java简介** 本章主要介绍...

    Java编译器源码初析示例

    Java编译器源码初析示例主要涉及的是对Java编程语言的核心编译器——Javac的理解与分析。在Java开发中,Javac是官方提供的标准编译器,负责将源代码(.java文件)转换为字节码(.class文件),使得虚拟机(JVM)能够...

Global site tag (gtag.js) - Google Analytics