发布网友 发布时间:2022-04-23 06:39
共3个回答
热心网友 时间:2022-06-16 18:54
在Java中,方法的局部变量位于栈上,对象位于堆上。因为局部变量的范围被*在该方法内,当一个方法结束时,栈结构被删除,该变量消失。但是,定义在这个类中的内部类对象仍然存活在堆上,所以内部类对象不能使用局部变量。除非这些局部变量被标识为最终的。final int i=8;就可以
热心网友 时间:2022-06-16 18:55
如果局部(私有)变量有set和get方法的话,可以赋值和进行值读取,如果没有这两个方法的话,那么外部类没法赋值的。
举例:
类User:
public class User {
private String username ;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
此时在类B中就可以通过
User user = new User();//创建对象
user.setUsername("zhangsan");//赋值
user.getUsername();//获取到值
热心网友 时间:2022-06-16 18:55
使用
NeiBuLei2.this.i 在内部类中访问外部类实例变量