关闭

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

标签: javaclassfunctionstring
1440人阅读 评论(0) 收藏 举报
分类:
/*
内部类定义在局部时,
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修饰之后不是不能改变其值了么?

的确是这样。

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

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

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

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:281918次
    • 积分:4277
    • 等级:
    • 排名:第7038名
    • 原创:151篇
    • 转载:4篇
    • 译文:0篇
    • 评论:95条
    最新评论