为什么 Java 外部类可以访问静态内部类的 private 属性?(百度面试题)
原因
静态内部类在经过 Java 编译器编译后会生成 private 属性对应的 access$Xxx(),供外部类使用。
一个类被使用到的时候才会加载到内存。静态内部类之所以可以延迟加载是因为,外部类通过调用静态内部类的 static 方法(access$Xxx()),也就是会执行 invokestatic 这个字节码从而引起静态内部类加载(这是触发类加载的一种场景)。
扩展
可以通过在私有的构造方法中判断对象引用是否为 null 来防止反射调用。
前端真的不难,后台确实比前台难一点,奥利给。
java中public,protected,private,default详解
请写出以下代码执行输出:(构造函数、静态块执行顺序)
cookies,sessionStorage 和 localStorage 的区别?
什么是 Cookie?它的作用是什么?
ArrayList和LinkedList的区别,以及各自是怎么实现扩容的?
前端真的不难,后台确实比前台难一点,奥利给。