是否可以调用在同一类的另一个方法中的方法中声明的final对象?
public class MyClass{
public void description(){
//something...
//something..
final HashMap<String,String> desc = new HashMap<String,String>();
}
public void call(){
}
}
我可以desc
在函数中调用对象call()
吗?
问题来源:Stack Overflow
声明就出错了吧。
final用法:
当用final去修饰一个类的时候,表示这个类不能被继承。
被final修饰的方法不能被重写。
没有像final objectJava
这样的东西。您声明的是最终变量或最终引用。这意味着您不能在范围内重新分配此变量名称。但是,这与所引用的对象无关。因此,您可以按以下方式传递此对象:
public class MyClass {
public void description() {
//something...
//something..
final HashMap<String,String> desc = new HashMap<String,String>();
call(desc);
}
public void call(Map<String, String> desc) {
// do something, may be desc.put(key, val);
}
}
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。