子类,父类静态代码块,构造代码块,以及构造函数执行顺序
2017-12-20 20:45
621 查看
父类:
package com.Test;
public class StaticExtends {
//静态代码块
static{
System.out.println("父类静态代码块");
}
//构造代码块
{
System.out.println("父类构造代码块");
}
//构造函数
public StaticExtends(){
System.out.println("父类构造函数");
}
}
子类:
package com.Test;
public class SonExtends extends StaticExtends{
//静态代码块
static{
System.out.println("子类静态代码块");
}
//构造代码块
{
System.out.println("子类构造代码块");
}
//构造函数
public SonExtends(){
System.out.println("子类构造函数");
}
public static void main(String[] args) {
//当子类的main方式什么也不写时将打印
//父类静态代码块
//子类静态代码块
//SonExtends son=new SonExtends();
//当子类new出对象后,
// 父类静态代码块
// 子类静态代码块
// 父类构造代码块
// 父类构造函数
// 子类构造代码块
// 子类构造函数
}
}
因为被static修饰后,即是属于类的,对象创建与否将不妨碍其执行,而构造代码块与构造函数都是依赖于对象的,
执行顺序:父类静态代码块,子类静态代码块,父类构造代码块,父类构造函数,,子类构造代码块,子类构造函数
package com.Test;
public class StaticExtends {
//静态代码块
static{
System.out.println("父类静态代码块");
}
//构造代码块
{
System.out.println("父类构造代码块");
}
//构造函数
public StaticExtends(){
System.out.println("父类构造函数");
}
}
子类:
package com.Test;
public class SonExtends extends StaticExtends{
//静态代码块
static{
System.out.println("子类静态代码块");
}
//构造代码块
{
System.out.println("子类构造代码块");
}
//构造函数
public SonExtends(){
System.out.println("子类构造函数");
}
public static void main(String[] args) {
//当子类的main方式什么也不写时将打印
//父类静态代码块
//子类静态代码块
//SonExtends son=new SonExtends();
//当子类new出对象后,
// 父类静态代码块
// 子类静态代码块
// 父类构造代码块
// 父类构造函数
// 子类构造代码块
// 子类构造函数
}
}
因为被static修饰后,即是属于类的,对象创建与否将不妨碍其执行,而构造代码块与构造函数都是依赖于对象的,
执行顺序:父类静态代码块,子类静态代码块,父类构造代码块,父类构造函数,,子类构造代码块,子类构造函数
相关文章推荐
- 父类,子类,静态属性,静态代码块,构造代码块,构造函数,执行顺序
- java继承中父类和子类静态、非静态代码块,构造函数,静态方法的执行顺序
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- 父类和子类静态代码块、非静态代码块、构造函数(方法)执行的先后顺序问题
- Java中静态代码块,非静态代码块,以及父类与子类的构造方法的之间调用顺序
- 黑马程序员——java中静态代码块、构造代码块、构造函数的执行顺序以及作用
- 父类子类静态代码块,构造方法的执行顺序
- 父类与子类的静态代码块、代码块、构造方法执行顺序
- 静态代码块、构造代码块以及构造函数执行顺序实验
- Java类中子类和基类的构造代码块,静态代码块、子类构造函数,基类构造函数的执行顺序
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- 父类 子类 动态代码块 静态代码块 构造函数 执行顺序
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是?
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- Java子类继承父类,静态代码块、普通代码块、构造代码块的执行顺序
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- 父类 子类 动态代码块 静态代码块 构造函数 执行顺序
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序