发布网友 发布时间:2022-04-23 06:39
共2个回答
热心网友 时间:2023-10-05 23:12
//内部类,可以等同的当成一个方法来看待
class Test{
int i;
void outMethod(int i){ i = 2;}//一个成员方法,可以直接调用成员属性
class OutTest{
void outMethod(){
i = 2;//所以一个成员内部类也可以直接访问成员属性
}
}
public static void main(String[] args) {
int j = 2;
final int k =5;
class InTest{
int inMethod(int j){ return j = j + k;}//final因为是不可变的常量,所以给了特权
}
InTest it = new InTest();
j = it.inMethod(j);//所以同样的,方法内部类也只能传参,不能直接拿到变量
Test t = new Test();
t.outMethod(j);//在方法内再调用方法,只能通过传参
}
}来自:求助得到的回答
热心网友 时间:2023-10-05 23:13
可以不过要声明为final
com.test;
class Test
{
public void test(final int a)
{
new Thread(new Runnable(){
@Override
public void run() {
Log.i("test", String.format("%d", a));
}
}).start();
}
}