继承里面语句的执行顺序问题
前些天看见帖子讨论继承里面语句执行顺序的问题,后来我自己也想写个简单继承的例子加深一下自己的映像,可是就是编译不过去,大家帮忙看看怎么搞得(我初学者一个)
---------------------
import java.io.*;
class print1
{
System.out.println("This is Print1 !");
print1()
{
System.out.println("This is Print1's Constructor Function !");
}
}
class print2 extends print1
{
System.out.println("This is print2 !");
print2()
{
System.out.println("This is print2's constructor Function !");
}
}
class print3 extends print2
{
System.out.println("This is print3 !");
print3()
{
System.out.println("This is print3's Constructor Function !");
}
public static void main(String args[])
{
new print3();
}
}
-------------------------
如果我将
System.out.println("This is Print1 !");
System.out.println("This is Print2 !");
System.out.println("This is Print3 !");
这三句去掉就没有问题了,可是构造函数的调用顺序我已经搞懂了,我现在就是想搞清楚父类中的其他语句的执行顺序是怎样的,大家帮忙看看,谢谢。
问题点数:20、回复次数:5Top
1 楼javafaq2004(I will survive)回复于 2004-12-01 00:32:05 得分 0
import java.io.*;
class print1
{
{
System.out.println("This is Print1 !");
}
print1()
{
System.out.println("This is Print1's Constructor Function !");
}
}
class print2 extends print1
{
{
System.out.println("This is print2 !");
}
print2()
{
System.out.println("This is print2's constructor Function !");
}
}
class print3 extends print2
{
{
System.out.println("This is print3 !");
}
print3()
{
System.out.println("This is print3's Constructor Function !");
}
public static void main(String args[])
{
new print3();
}
}
Top
2 楼javafaq2004(I will survive)回复于 2004-12-01 00:32:40 得分 20
也就是说你把System.out.println("This is Print1 !");等语句放到打括号中试试。Top
3 楼yangkai888(模糊的星光)回复于 2004-12-01 00:45:21 得分 0
要执行的语句应该放在main函数中,怎么能直接放在类中。Top
4 楼yangkai888(模糊的星光)回复于 2004-12-01 00:47:26 得分 0
我觉得继承的构造和析构应该遵循生物学遗传原理,这就比较容易理解!Top
5 楼bestirwiny(学习中……)回复于 2004-12-01 13:34:54 得分 0
----------
也就是说你把System.out.println("This is Print1 !");等语句放到打括号中试试。
-----------
可以解决这个问题,这个是为什么啊?麻烦 javafaq2004(农村干部瞎忙活) 讲一讲吧,我新学java的
在类里面的非方法区域里面是不可以写执行语句的吗?是不是只能在类的方法里面才能写可执行语句的啊?Top




