`

内部类之局部内部类

    博客分类:
  • java
阅读更多

局部内部类

1   在局部内部类前不能用修饰符public和private,protected. 
2   可以定义与外部类同名的变量

     如果内部类没有与外部类同名的变量,在内部类中可以直接访问外部类的实例变量
     如果内部类中有与外部类同名的变量,直接用变量名访问的是内部类的变量,用this.变量名访问的也是内部类变量.
     用外部类名.this.内部类变量名访问的是外部类变量
3   不可以定义静态变量和方法
4   可以访问外部类的局部变量(即方法内的变量),但是变量必须是final的     

5   可以访问外部类的所有成员

测试代码 复制代码
  1. package test;   
  2. /**   
  3.  * 内部类之局部内部类实例演示   
  4.  * @author fhd001   
  5.  */   
  6. public class InnerClassA {   
  7.        
  8.     private String str1 = "abc";   
  9.     private int n = 35;   
  10.     private static String str2 = "MMM";   
  11.        
  12.     public void show(){   
  13.            
  14.         final int K = 54;   
  15.         class InnerOne{   
  16.             int n = 12;   
  17.             //static String s = "name";内部类中不能定义static变量.   
  18.             public void aaa(){   
  19.                 System.out.println("局部常量K的值为:  "+K);   
  20.                 System.out.println("外围类成员变量str1的值:  "+str1);   
  21.                 System.out.println("外围类成员变量n的值:  "+InnerClassA.this.n);   
  22.                 System.out.println("外围类成员变量str2的值:  "+str2);   
  23.                 System.out.println("内部类成员变量n的值:  "+n);   
  24.             }   
  25.         }   
  26.         new InnerOne().aaa();   
  27.     }   
  28.   
  29.     public static void main(String[] args) {   
  30.   
  31.         InnerClassA a = new InnerClassA();   
  32.         a.show();   
  33.     }   
  34. }  
package test;
/**
 * 内部类之局部内部类实例演示
 * @author fhd001
 */
public class InnerClassA {
	
	private String str1 = "abc";
	private int n = 35;
	private static String str2 = "MMM";
	
	public void show(){
		
		final int K = 54;
		class InnerOne{
			int n = 12;
			//static String s = "name";内部类中不能定义static变量.
			public void aaa(){
				System.out.println("局部常量K的值为:  "+K);
				System.out.println("外围类成员变量str1的值:  "+str1);
				System.out.println("外围类成员变量n的值:  "+InnerClassA.this.n);
				System.out.println("外围类成员变量str2的值:  "+str2);
				System.out.println("内部类成员变量n的值:  "+n);
			}
		}
		new InnerOne().aaa();
	}

	public static void main(String[] args) {

		InnerClassA a = new InnerClassA();
		a.show();
	}
}

 

结果代码 复制代码
  1. 局部常量K的值为:  54  
  2. 外围类成员变量str1的值:  abc   
  3. 外围类成员变量n的值:  35  
  4. 外围类成员变量str2的值:  MMM   
  5. 内部类成员变量n的值:  12  

http://fhd001.iteye.com/blog/413849

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

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

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

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

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

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

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

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

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

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

    java 局部内部类的使用规范

    java 局部内部类的使用规范 java 局部内部类的使用规范

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

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

    内部类分类及应用

    方法内部类对象不能使用该内部类所在方法的非final局部变量。 四、匿名内部类 匿名内部类是指不具有名称的内部类。匿名内部类适合使用场景包括:只用到类的一个实例、类在定义后马上用到、类非常小、给类命名并...

    JAVA内部类总结

    内部类分为四类:非静态成员内部类、静态成员内部类、局部内部类和匿名内部类。接下来将逐一介绍这四种类型的内部类。 #### 二、非静态成员内部类 非静态成员内部类是最常见的一种内部类形式,它具有以下特点: 1...

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

    2. **局部内部类**:定义在方法内部的类,具有局部变量的特性,不能有静态属性和方法,也不能在类外直接访问。它可以访问外部类的所有成员以及所在方法的final变量。局部内部类主要用于方法内部的特定逻辑,对外不...

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

    2. **局部内部类**: 定义在方法、构造器或块中的类被称为局部内部类。它的作用范围仅限于该方法、构造器或块。 3. **静态内部类**: 声明为static的内部类,称为静态内部类。它不持有对外部类的隐式引用,因此可以...

    14.java局部内部类(方法中类).zip

    14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14...

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

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

    内部类的分类及各自用法

    根据不同的应用场景和特性,内部类可以分为多种类型:成员内部类、局部内部类、静态内部类、匿名内部类。下面将详细介绍每种类型的内部类及其特点和使用方法。 #### 成员内部类 成员内部类(也称为非静态内部类)...

    java内部类详解

    内部类主要分为四种类型:静态内部类、成员内部类、局部内部类和匿名内部类。 1. 静态内部类(Static Inner Class) 静态内部类与普通的类类似,只是它们定义在外部类中,并且前面带有 `static` 关键字。它们不会...

    java接口与内部类教学PPT

    1.接口-简介 2.接口-作用 3.接口-定义方式 4.接口-实现 5.接口-与抽象类之区别 6.接口-应用示例(设计模式...内部类-局部内部类 12.内部类-匿名内部类 13.内部类-静态内部类 14.综述

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

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

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

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

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

    局部内部类是定义在一个方法或一个块内的类,它可以访问该方法或块的局部变量,但匿名内部类不能。匿名内部类的生命周期更短,通常只在创建它的代码块内有效。 6. **匿名内部类的局限性** 由于匿名内部类没有名字...

    JAVA 内部类 PPT

    - **局部内部类**:定义在方法、构造器或块中的类称为局部内部类,它的作用域仅限于该方法、构造器或块。 - **匿名类**:没有名字的内部类,通常用于一次性实现某个接口或父类的简单功能。 2. **内部类继承** - ...

Global site tag (gtag.js) - Google Analytics