Java中 定义语名 与方法 的执行顺序
来源:互联网 发布:php 开源任务管理系统 编辑:程序博客网 时间:2024/05/17 20:34
刚学Java学到类不久的朋友,可能会在这定义语句与构造器的执行顺序问题上不能理解。往往是心里想的结果与执行结果有所出处。看下面这段代码:
看完这代码后 你心里已有输出结果了吧 是不是与下面的调试出来的结果有所不同:
class Mug
{
Mug(int marker)
{
System.out.println("Mug(" + marker + ")");
}
}
public class Mugs
{
Mugs()
{
System.out.println("Mugs()");
}
Mug c1;
Mug c2;
{
c1 = new Mug(1);
c2 = new Mug(2);
System.out.println("c1 & c2 initialized");
}
public static void main(String [] args){
System.out.println("Inside main()");
Mugs x=new Mugs();
}
}
Inside main()
Mugs()
Mug(" 1 ")
Mug(" 2 ")
c1 & c2 initialized
关于这点 其实原因在于:程序中 先执行定义语句 然后在执行方法语句 无论是构造器也好 一定先执行的是定义语句
如果你认为这样不对 是代码块的原因
那我们也可以 另定一个代码块 里面放一个简单的输出语句 试试看:
我们把它加在Mugs构造器的下面
{
System.out.println("11111111111111111111111111");
}
这下调试的结果为:
Inside main()
Mugs()
Mug(" 1 ")
Mug(" 2 ")
c1 & c2 initialized
11111111111111111111111111
这回 代码块 中的全1还是在最后 输出吧 如果你认为是位置顺序问题
可以调试一下 看看 结果会有所不同吗?
- Java中 定义语名 与方法 的执行顺序
- Java中“块”与构造方法的执行顺序
- Java中构造方法的执行顺序
- Java中构造方法的执行顺序
- java类中方法的执行顺序
- Java中构造方法的执行顺序
- Java中方法执行顺序
- java程序中代码块与构造方法的执行顺序
- java类中方法和变量的定义顺序
- java中for方法执行的正确顺序
- java中按顺序执行两个线程的方法
- java中控制线程间执行顺序的方法
- java程序中方法执行的前后顺序
- java类中构造方法执行的顺序
- Java中“方法”的定义与使用
- Java中 方法的定义与使用
- java中方法的定义与规则
- java中try catch finally与return的执行顺序
- RootKit.Win32.Agent,Trojan.PSW.Win32.GameOnline,Trojan.Win32.Mnless等1
- 谁是我们一生中最重要的人
- 混合语言编程
- 经营幸福
- Fedora 8 安装Myeclipse 6.0
- Java中 定义语名 与方法 的执行顺序
- 32句改变你一生的话
- Eval 绑定里嵌套别的绑定值
- 对生活的一点小小建议(对生活的25条小建议)
- love to be loved by you
- 30个令人讨厌的习惯
- 应用程序框架设计之前言
- 没被改写的人生
- Just One Last Dance