zoukankan      html  css  js  c++  java
  • JDK7中匿名内部类中使用局部变量要加final,JDK8中不需要,但jdk会默认加上final

    今天看书的时候看到了局部内部类,书上说局部内部类可以访问局部变量,但是必须是final的。因为局部变量在方法调用之后就消失了,使用final声明的话该局部变量会存入堆中,和内部类有一样的声明周期。但是我写了一个局部内部类,竟然可以访问非final的局部变量,请问这是什么回事呢。ps:我的jdk是8 难道和这个有关系?


    public class jubuneibulei {
    public void p(int a, int b){

    class te{
    void print(){
    System.out.println(a);
    }
    }
    new te().print();
    }
    public static void main(String[] args) {
     new jubuneibulei().p(111, 222);

    }
    }


    JDK8中不需要,但jdk会默认加上final
  • 相关阅读:
    JDBC
    初识JAVA
    初入门 HTML
    jsp数据交互(一).3
    jsp数据交互(一).2
    jsp数据交互(一).1
    jsp的简介(1)
    Android实现数据存储技术
    Android数据存储五种方式总结
    SD卡操作
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/5615548.html
Copyright © 2011-2022 走看看