论坛首页 入门讨论版 Java

一道有趣的java题目,大家猜猜结果

浏览 292 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-05-08
昨天跟朋友弄了到有趣的java题目,给大家看看,大家先不拷贝去运行,猜才结果是什么吧!
呵呵!
class Person {

Person(){
System.out.println ("Person...");
}

{
System.out.println ("Person hello...");
}

static {
System.out.println ("Person tatic...");
}
}

public class Test extends Person {

Test(){
System.out.println ("Test...");
}

{
System.out.println ("hello...");
}

static {
System.out.println ("static...");
}

public static void main(String[] args) {
System.out.println ("main...");
new Test();
}
}
   
时间:2008-05-08
...........
为什么我进来之前就能猜到是什么题........
可是还是忍不住点进来...............
   
0 请登录后投票
时间:2008-05-08
不明白 能解释下吗?
   
0 请登录后投票
时间:2008-05-09
类里static方法,构造函数等等。。。的加载顺序
   
0 请登录后投票
时间:2008-05-09
基本上是按照这样的顺序进行运行的:
1.父类静态属性
2.父类静态方法体
3.子类静态属性
4.子类静态方法体
5.父类非静态属性
6.父类非静态方法体
7.父类构造函数
8.子类非静态属性
9.子类非静态方法体
10.子类构造函数
这段程序的结果是:
Person tatic...
static...
main...
Person hello...
Person...
hello...
Test...
其实就是想说明一个程序的运行顺序,这段程序就是从静态的到非静态的,然后按照主函数中的顺序往下执行!在new test()这就是按照父类到子类的顺序执行了,呵呵!
   
0 请登录后投票
时间:2008-05-11
谢谢楼主啊,学习了···
我在群里请教的别人,唉,菜,什么都不会··
   
0 请登录后投票
时间:2008-05-17
程序的入口不应该事main函数吗?为什么 不先输出main.....呢 而是先输出了 父类和子类的静态方法?
   
0 请登录后投票
论坛首页 入门讨论版 Java

跳转论坛: