黑马程序员技术交流社区
标题:
请看一下,局部内部类这样能运行是怎么回事?
[打印本页]
作者:
jinsedeyuzhou
时间:
2015-5-22 18:10
标题:
请看一下,局部内部类这样能运行是怎么回事?
内部类定义在局部
1、不可以被成员修饰符修饰
2、可以直接访问外部类中的成员,因为还持有外部类中的引用。
但是不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量。
class Outer
{
int x=3;
void method()
{
int y=4;
//new Inner().function(); 不可以
class Inner
{
void function()
{
System.out.println(y);
System.out.println("hello!"+y);
}
}
new Inner().function();
}
}
class InnerDemo
{
public static void main(String[] args)
{
new Outer().method();
}
}
运行结果
4
hello!4
作者:
466273082
时间:
2015-5-22 20:14
在调用局部类内部类是先要给类初始化,才能调用,否则怎么调用呢,不知道是否还有不同的意见呢???
作者:
jinsedeyuzhou
时间:
2015-5-22 22:26
466273082 发表于 2015-5-22 20:14
在调用局部类内部类是先要给类初始化,才能调用,否则怎么调用呢,不知道是否还有不同的意见呢??? ...
不懂,还请详细说明一下,(但是不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量)我看java基础里面,,有这个程序,一模一样,我的可以运行,老师的不能运行,不知道是不是版本的问题,我用的是最新版本。
作者:
shuadianqian8
时间:
2015-5-22 22:27
感觉很厉害的样子 不懂
作者:
zhangjnia
时间:
2015-5-22 22:28
好高深啊,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2