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

内部类访问外部类的属性

 
阅读更多
在rt.jar包中,List接口中的iterator()方法,采用的就是这种实现机制。
package com.phl;

public class Outer {
	int count = 0;

	public static void main(String[] args) {
		Outer outer = new Outer();
		Inner i1 = outer.getInnter("phl");
		System.out.println(outer.count);
		Inner i2 = outer.getInnter("luckybird");
		System.out.println(outer.count);
	}

	public Inner getInnter(String name) {
		return new Inner(name);
	}

	class Inner {
		private String name;

		public Inner(String name) {
			this.name = name;
			Outer.this.count++;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

	}
}
1
4
分享到:
评论
2 楼 85977328 2011-08-21  
kill_all 写道
Android里面有大量这样的实现。。。。。。

恩,我之前很少用这种实现,所以记录下来~,~ 做个沉淀
1 楼 kill_all 2011-08-17  
Android里面有大量这样的实现。。。。。。

相关推荐

    深入理解Java?内部类

    什么是内部类?  内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附...  (3)、内部类声明成静态的,不能随便的访问外部类的成员变量了,此时内部类只能访问外部类的静态成员变量 。

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

    1. 内部类可以访问外部类的所有成员,包括私有成员。 2. 内部类可以继承自某个类或实现某个接口,内部类的代码操作创建其外围类的对象。 3. 每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经...

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

    成员内部类可以访问外部类的实例变量,但不能有静态属性和方法(final的除外)。创建成员内部类的实例时,必须先创建外部类的实例。例如: ```java Outer outer = new Outer(); Outer.Inner inner = outer.new ...

    Java内部类.pdf

    Java内部类是指定义在另一个类内部的类,它可以访问外部类的属性和方法。在Java中,内部类提供了更精细的控制,可以使得类的封装性更强,设计更为隐蔽和安全。以下是对标题中"Java内部类.pdf"文件的知识点进行的详细...

    java静态内部类(嵌套类)

    2. **不能访问外部类的非静态成员**:由于静态内部类与外部类的静态属性和方法处于相同的静态上下文中,因此静态内部类无法访问外部类的非静态成员变量或方法。 3. **命名空间独立**:静态内部类有自己的命名空间,...

    类的私有成员实现从外部访问

    学习过其他语言的同学都知道,类都是有公共属性的,可以直接用赋值的方式来修改,但易语言只有私有成员,无法直接用赋值的方式来改动私有成员的数据值,这个例程演示了如何把内部私有成员的数据地址跟外部变量的...

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

    Java内部类是一种定义在另一个类内部的类,它可以访问外部类的所有成员,包括私有成员。内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态嵌套类。其中,静态嵌套类是与外部类关联但不持有对外部类的...

    控制器(内部类)

    控制器通常会用到的是成员内部类或静态内部类,因为它们可以访问外部类的属性和方法,同时又具有一定的封装性。 1. **成员内部类**:这种内部类是外部类的一个成员,拥有与外部类其他成员相同的权限。它可以访问...

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

    例如,在 `AccessStaticInnerClass` 类中,我们可以通过 `StaticInnerClass.prop1` 的形式来访问静态内部类 `StaticInnerClass` 的静态属性 `prop1`。 ```java public class AccessStaticInnerClass { static ...

    e语言-类的私有成员实现从外部访问

    学习过其他语言的同学都知道,类都是有公共属性的,可以直接用赋值的方式来修改,但易语言只有私有成员,无法直接用赋值的方式来改动私有成员的数据值,这个例程演示了如何把内部私有成员的数据地址跟外部变量的...

    内部类详解,看了他就不用看其他资料了

    成员内部类可以直接访问外部类的所有成员,包括私有成员,但外部类需要通过实例化内部类来访问内部类的成员。 - 在外部类之外创建成员内部类对象时,需要先创建外部类对象,然后通过外部类对象来实例化内部类。 2....

    Java内部类总结

    在这个例子中,`Inner`是`Outer`的成员内部类,可以从内部类访问外部类的私有成员`i`。通过`outerMethod`,我们创建了`Inner`类的一个实例,并调用了`display`方法来展示`i`的值。 #### 五、内部类的编译原理 内部...

    C++内部类详细分析

    - 内部类的对象可以拥有指向外部类对象的引用,使得内部类能够访问外部类的状态。 2. **在C++中模拟内部类**: - 在C++中,可以通过将内部类定义为外部类的一个成员类型来实现类似的功能。 - 使用嵌套类...

    Java内部类总结[参考].pdf

    成员内部类:作为外部类的一个成员存在,与外部类的属性、方法并列。 * 成员内部类中的特点: + 不能定义静态成员 + 可以访问外部类的所有成员 + 可以访问当前代码块内的常量和外部类的所有成员 B. 局部内部类...

    java内部类解析.......

    这种内部关系意味着内部类是外部类的一部分,并且可以访问外部类的所有成员,包括私有成员。这为Java提供了一种封装和访问控制的高级机制。 #### 内部类的类型 内部类主要分为四类: 1. **成员内部类**:这是最...

    内部类和设计模式1

    - 访问外部类成员:由于静态内部类不依赖外部类的实例,因此不能直接访问外部类的非静态成员,但可以访问静态成员。 4. **匿名内部类** - 匿名内部类没有名称,通常用于简化代码,尤其是实现接口或继承类时。 - ...

    java(Day12)---内部类

    这种设计允许内部类访问外部类的所有成员,包括私有成员,增强了代码的封装性和灵活性。内部类主要有四种类型:成员内部类、静态内部类、局部内部类和匿名内部类。 1. 成员内部类: 成员内部类可以直接访问外部类...

    接口,内部类,抽象类概念和区别

    内部类是定义在一个类内部的类,它可以访问外部类的所有成员,包括私有成员。内部类主要有四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。内部类可以提供更好的封装性和代码组织,常用于实现事件监听器...

Global site tag (gtag.js) - Google Analytics