jls

    2热度

    2回答

    我学习Java语言规范,“一包的可观测性”意义,我在JLS §7.4.3 - Observability of a Package关于"Observability of a Package"含义的问题: 包是可观察的,如果和仅在以下情况下: 包含该包的声明的编译单元是可观察的(第7.3节)。 包的一个子包是可观察的。 我的问题是 如何理解包 如何理解第二个条件的可观测A subpackage of

    1热度

    1回答

    在为HashMap的java.util源代码,有重构出方法putForNullKey和getForNullKey与评论: /** * Offloaded version of put for null keys */ private V putForNullKey(V value) { 什么是“卸载”的意思是在这方面?重构,还是更微妙的东西?

    7热度

    1回答

    是否真的有可能在构造函数中创建的线程中查看部分构造的对象,因为缺少同步和泄漏此实例? 除时,有一个子类,当然,或者我们正在做克隆或类似的东西隐含建设的情况 - 让我们假设类是最终,是它在线程中调用完全初始化调用其他线程之前的构造函数。 据我了解以下HB()规则, 主题中的每个动作之前发生在该线程 每一个动作,后来进来的程序顺序(程序顺序规则) 线程上的start()调用发生 - 在启动线程中的任何

    4热度

    3回答

    好的,这里有一个非常好奇的JLS专家的Java 7语言难题。下面的代码段将不会编译,既不用javac也不与Eclipse: package com.example; public class X { public static X com = new X(); public void x() { System.out.println(com.example.X

    4热度

    1回答

    为什么可以将内部类(也称为非静态嵌套的)类定义到接口中? 它有什么意义吗?他们不能含有接口的实例中存在,因为接口不能被实例化,所以...... 以下不编译: interface MyInterface { static class StaticNestedClass { static int a() { return 0; }

    1热度

    1回答

    我刚刚发现可以在类的封装声明之前编写几个修饰符。看来所有的可见性修饰符都可以和场修饰符以及它们全部多次。的声明可能是这样的: public public final static private private static protected volatile synchronized strictfp strictfp static final package de.lfnn.test;

    5热度

    3回答

    JLS: Chapter 7. Packages: 程序包由一个数的编译单元(第7.3节)的。编译单元自动可以访问其包中声明的所有类型,并且也会自动导入预定义包java.lang中声明的所有公共类型。 让我们假设下面的代码: package com.example.p1; public class MyClass { } package com.example; public class

    -1热度

    2回答

    我读到Java语言规范(SE8),我碰到这个来.. Lines are terminated by the ASCII characters CR, or LF, or CR LF. The two characters CR immediately followed by LF are counted as one line terminator, not two. A line termi

    0热度

    3回答

    在Java语言规范6.2 Link 这里是下面的代码示例: class Test { public static void main(String[] args) { Class c = System.out.getClass(); System.out.println(c.toString().length() + args[0].leng

    4热度

    3回答

    辅助 Java 8 Says: 接口的所有成员缺少访问修饰符都是public Java 7 says: 接口的所有成员都是隐式公开的。 当我尝试下面的代码: public interface Test { protected int i = 10; } 并编译,我得到了 Test.java:3: error: modifier protected not allowed here