class Test {
public static void main(String[] args) {
private int x = 10;
public int y = 20;
protected int z = 30;
static int w = 40;
final int i = 50;
}
}
Run Code Online (Sandbox Code Playgroud)
该只适用修改是最后在这里; 对于其他修饰符,程序会给出编译器错误.这是为什么?请详细解释.
为什么我们不给命令filename.class后的文件java,而不仅仅是filename?
假设我们要编译test.java程序,然后运行javac test.java.没关系!
之后它将生成test.class文件,但运行我们运行的程序java test而不是java test.class.这是什么原因?
我试图学习Java中的数组基础知识,这个问题出现了:
版本1:
int[] x = {12,34,56,78};
Run Code Online (Sandbox Code Playgroud)
版本2:
int[] x;
x = {12,34,56,78};
Run Code Online (Sandbox Code Playgroud)
版本1是正确的,但版本2不正确.
为什么会这样?它背后的故事是什么?
请从面向编译器的角度描述这一点.
有什么区别 i = i + j; 和i += j; 在C?它们是等价的吗?有副作用i吗?
我试图使用GCC编译器检查C中的赋值机制.
abstract class Manager {
static void test() {
System.out.println(12);
}
class Manager1 {
public static void main(String args[]) {
System.out.println(Manager.test());
}
}
}
Run Code Online (Sandbox Code Playgroud)
它产生编译时错误.抽象类可以static有void类型的方法吗?
interface I1 {
int i = 10;
void add();
void sub();
void del();
}
interface I2 {
void disp();
}
class A implements I1,I2 {
void add(){...}
void sub(){...}
void del(){...}
void disp(){
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)
此代码给出了编译时错误.我不知道这段代码有什么问题.