java 构造函数的执行顺序
2009-02-21 19:41
369 查看
在此我用类似《Thinking in Java》的一个例子来说明
pakage com.yqs.test
class Milk {
publcic Milk() {
System.out.println("Constrator Milk be called!");
}
}
class Bread {
public Bread(){
System.out.println("Constrator Bread be called!");
}
}
class Apple {
public Apple(){
System.out.println("Constrator Apple be called!");
}
}
class Orangle extends Apple{
public Orangle(){
System.out.println("Constrator Orangle be called!");
}
}
class Water extends Orangle {
public Water(){
System.out.println("Constrator Water be called!");
}
}
public class Test {
Milk m = new Milk();
Water w = new Water();
Bread b = new Bread();
public Test() {
System.out.println("Constrator Test be called!");
}
}
执行的结果是:
Constrator Milk be called!
Constrator Apple be called!
Constrator Orangebe called!
Constrator Water be called!
Constrator Test be called!
所以java构造函数的执行顺序是:
先出现先执行,派生类要先执行其父类的构造函数
本文出自 “小杨” 博客,请务必保留此出处http://yqsshr.blog.51cto.com/469059/132257
pakage com.yqs.test
class Milk {
publcic Milk() {
System.out.println("Constrator Milk be called!");
}
}
class Bread {
public Bread(){
System.out.println("Constrator Bread be called!");
}
}
class Apple {
public Apple(){
System.out.println("Constrator Apple be called!");
}
}
class Orangle extends Apple{
public Orangle(){
System.out.println("Constrator Orangle be called!");
}
}
class Water extends Orangle {
public Water(){
System.out.println("Constrator Water be called!");
}
}
public class Test {
Milk m = new Milk();
Water w = new Water();
Bread b = new Bread();
public Test() {
System.out.println("Constrator Test be called!");
}
}
执行的结果是:
Constrator Milk be called!
Constrator Apple be called!
Constrator Orangebe called!
Constrator Water be called!
Constrator Test be called!
所以java构造函数的执行顺序是:
先出现先执行,派生类要先执行其父类的构造函数
本文出自 “小杨” 博客,请务必保留此出处http://yqsshr.blog.51cto.com/469059/132257
相关文章推荐
- 由阿里巴巴一道笔试题看Java静态代码块、静态函数、动态代码块、构造函数等的执行顺序
- java变量,初始化快,构造函数的执行顺序
- Java 静态语句块、语句块、构造函数执行顺序
- Java 静态语句块、语句块、构造函数执行顺序
- 再学Java 基础(3)类与对象【构造函数以及其执行顺序----经典讲解】重点!!!
- java变量,初始化快,构造函数的执行顺序
- Java static块与构造函数的执行顺序
- Java static关键字和构造函数执行顺序
- java变量,初始化快,构造函数的执行顺序
- Java学习笔记——静态代码块,构造代码块,构造函数间的执行顺序
- java一般代码块,构造块,构造函数,静态代码块的执行顺序实践
- java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序
- JAVA静态代码块、非静态代码块、构造函数的执行顺序
- Java中构造函数、static块、{}块的执行顺序
- java中父类与子类构造函数的执行顺序
- java关于代码块 , 动态代码块 , 静态代码块 , 静态方法 , 构造函数的执行顺序
- JAVA父子类的构造函数、静态代码块等执行顺序
- [备忘]java 静态块、非静态块、静态函数、构造函数 执行顺序
- Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数
- Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序