interface Printable {}
class BlackInk {}
public class Main {
public static void main(String args[]) {
Printable printable = null;
BlackInk blackInk = new BlackInk();
printable = (Printable)blackInk;
}
}
Run Code Online (Sandbox Code Playgroud)
如果编译并运行上述代码,则结果为ClassCastException printable = (Printable)blackInk;
.但是,如果将Printable更改为类,则不会编译,因为blackInk无法强制转换为Printable.当Printable是一个接口时,为什么要编译?
我正在调试透视图中移动窗口的排列.之后,无论我在Java透视图中打开哪个.java文件,只有带有main方法的源文件将在调试透视图中打开,我无法弄清楚如何查看其他源文件.
然后,我意外地关闭了主源文件,现在我在调试透视图中看不到任何源代码.
如果我转到Window - > New Editor,或者如果我从导航器中双击Main.java,则没有任何反应.
我将透视图重置为默认值,并在编辑器中显示"没有编辑器描述符,用于id org.eclipse.ui.internal.emptyEditorTab"
boolean a = false;
boolean b = false;
boolean c = false;
boolean bool = (a = true) || (b = true) && (c = true);
System.out.println("" + a + b + c);
Run Code Online (Sandbox Code Playgroud)
prceding代码打印truefalsefalse
.但是,&&
操作员的优先级高于||
操作员,应首先进行评估,为什么不打印truetruetrue
呢?