《java中内部类在局部时,访问权限》

原创 2012年03月26日 22:59:20
/*
内部类定义在局部时,
1,不可以被成员修饰符修饰
2,可以直接访问外部类中的成员,因为还持有外部类中的引用。
	但是不可以访问它所在的局部中的变量。只能访问被final修饰的局部变量。
*/
class Outer
{
	void method(final int a)
	{
		final int y = 4;
		class Inner
		{
			void function()
			{
				System.out.println(a);
			}

		}
		new Inner().function();
	}
}

class Inner 
{
	public static void main(String[] args) 
	{
		new Outer().method(7);
		new Outer().method(8);

		Outer out = new Outer();
		out.method(7);
		out.method(8);
	}
}



Outer out = new Outer();
		out.method(7);
		out.method(8);

这个写法有些人看了可能会很奇怪,这样子能编译通过么?

被final修饰之后不是不能改变其值了么?

的确是这样。

但是,作为一个函数的参数,或者说在一个函数中。

他是在栈内存的,随着函数执行完,他的内存也会释放。

所以,这样子是不是有错误的!

版权声明:本文为博主原创文章,未经博主允许不得转载。

内部类注意事项: 内部类定义在局部时:

当内部类中定义了静态成员,该内部类必须是static的. 当外部类中静态方法访问内部类时,内部类也必须是static的    内部类定义在局部时: 1:不可以被成员修饰符修饰 2:可以直接访...

如何写出更好的Java代码

Java是最流行的编程语言之一,但似乎并没有人喜欢使用它。好吧,实际上Java是一门还不错的编程语言,由于最近Java 8发布了,我决定来编辑一个如何能更好地使用Java的列表,这里面包括一些库,实践...
  • lgl265
  • lgl265
  • 2014年05月23日 17:28
  • 1555

HTML5 地理定位(在网页里面定位,查出了我的想象)

HTML5 Geolocation(地理定位)用于定位用户的位置。 亲自试一试:在谷歌地图上显示您的位置 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位...

java中内部类的创建四种情况,三种方式,及内部数据访问权限

内部类和外部类的关系,及内部静态类的数据访问权限,声明方式。 第一种,在外部类内部声明使用内部类,内部类的类型为static和非 static类型,内部类数据类型为private,protected,...

我的第一篇博客,献给黑马啦。(知识点:构造体,内部类访问权限)

这个时候,我看完了java基础知识,

黑马程序员——学习日志6面向对象(多态,内部类,异常,访问权限)

------- android培训、java培训、期待与您交流! ----------  ------- an...

关键字+静态+访问权限+内部类

1.关键字 (this,super,static,void,访问权限,final,break,continue,instance of) ①this 属性:当局部变量与全局变量同名时,用来区分全局...

c#内部类访问权限

内部类,顾名思义是在一个类里面再定义一个类,这时候涉及到访问外部类和内部类的字段权限的问题。 1:首先是内部类的类访问权限,有public,protected和private。内部类的类访问权限只是针...

java 局部内部类的使用规范

  • 2010年06月21日 15:00
  • 59KB
  • 下载

Java 局部内部类访问局部变量必须加final关键字

局部内部类(包括匿名局部内部类和普通内部类)中使用局部变量,那么这个局部变量必须使用final修饰。这里说的事局部内部类,不是普通静态内部类和非静态内部类,因为他们不能访问方法体内的局部变量。  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《java中内部类在局部时,访问权限》
举报原因:
原因补充:

(最多只允许输入30个字)