首先,final是一个修饰符。
1.可以修饰类、函数和变量
2.被final修饰的类不可以继承,为防止被继承。
3.被final修饰的方法不可以被复写
4.被final修饰的变量是一个常量,只赋值一次,既可以修饰成员变量又可以修饰局部变量。
内部类有两种:定义在成员位置上的和定义在局部位置上的。
定义在成员位置上的内部类可以访问成员变量和局部变量,而定义在局部位置上的内部类中的方法
可以直接访问外部类中的成员,但是想要访问局部变量,则局部变量前面必须加final才能被访问。
class Outer
{
int x=3;
void method(final int a)
{
final int y=4;
class Inner
{
void function()
{
System.out.println(x+y+a);
}
}
}
}
class InnerTest
{
public static void main(String[] args)
{
Outer out=new Outer();
out.method(7);
}
} |