class Cup{
Cup(int er){
System.out.println("Cup("+er+")");
}
void f(int er){
System.out.println("f("+er+")");
}
}
class Cups{
static Cup c1;
static Cup c2;
static{
c1=new Cup(1);
c2=new Cup(2);
}
static{
System.out.println("dfdsfsdf");
}
Cups(){
System.out.println("Cups()");
}
}
class ExplicitStatic {
public static void main(String[] args) {
System.out.println("Inside main()");
Cups.c1.f(99);//1
}
//static Cups x = new Cups();//2
}
这样输出结果是:
Inside main()
Cup(1)
Cup(2)
dfdsfsdf
Cups()
Press any key to continue...
但是如果1注释掉,改成2
变成的是:
Cup(1)
Cup(2)
dfdsfsdf
Cups()
Inside main()
Press any key to continue...
Inside main()一个在前,一个在后,请问到底是什么原因啊。。求救啊。。
Cup(int er){
System.out.println("Cup("+er+")");
}
void f(int er){
System.out.println("f("+er+")");
}
}
class Cups{
static Cup c1;
static Cup c2;
static{
c1=new Cup(1);
c2=new Cup(2);
}
static{
System.out.println("dfdsfsdf");
}
Cups(){
System.out.println("Cups()");
}
}
class ExplicitStatic {
public static void main(String[] args) {
System.out.println("Inside main()");
Cups.c1.f(99);//1
}
//static Cups x = new Cups();//2
}
这样输出结果是:
Inside main()
Cup(1)
Cup(2)
dfdsfsdf
Cups()
Press any key to continue...
但是如果1注释掉,改成2
变成的是:
Cup(1)
Cup(2)
dfdsfsdf
Cups()
Inside main()
Press any key to continue...
Inside main()一个在前,一个在后,请问到底是什么原因啊。。求救啊。。
解决方案 »
- eclipse运行问题
- 怎么解析这段XML?
- 一个面试题
- continue 标号; 的不理解
- 请问Swing里的选择框是哪个组件
- jtable中怎么实现隐藏行?
- [菜鸟学JAVA]我在网上下了一个《JBuilder程序设计实例》的代码,可它老是说""Frame1.java": Error #: 901 : package ex02_01 stated in s
- socket多网卡,速度明显减慢
- 一个简单问题!
- 请问JAVA可用来做什么?是不是只能作网站?
- 小弟初学ant,请教高手有关ant的若干问题
- 请问怎么把“\xbe\xb2\xb6\xa6\xb0\xb2\xb0\xee”这个字符串转化为中文?
public static void main(String[] args) {
System.out.println("Inside main()");
//Cups.c1.f(99);//1}
static Cups x = new Cups();//2
}
先初始化静态域,也就是先执行2
加载类ExplicitStatic --〉执行ExplicitStatic.main()方法 --> 加载类Cups ....第二种方法执行顺序应该是:
加载类ExplicitStatic(在此期间会加载静态类Cups并实例化) --〉执行ExplicitStatic.main()方法 ....所以Inside main()一个在前,一个在后