一、如果在类中存在多个静态代码块,则按照顺序执行静态代码块,而且只执行一个,其他的不予执行。非静态代码块,每次构建构造函数时都要执行一次。
二、不论是静态代码块还是非静态代码块,都是在构造函数执行之前执行。
三、如果含有子类则执行顺序为:
1)执行父类的静态代码块,再在执行子类的静态代码块
2)执行父类的非静态代码块,再执行父类的构造方法
3)执行子类的非静态代码块,再执行子类的构造方法
package com.hello;
/*
* @author 张春蕾 2013年10月8
*/
public class HelloJava{
public static void main(String[] args){
Son son = new Son();
}
}
class Father{
static{
System.out.println("Father--静态方法块");
}
public Father(){
System.out.println("Father--构造函数");
}
{
System.out.println("Father--非静态方法块");
}
}
class Son extends Father{
public Son(){
System.out.println("Son--构造函数");
}
static{
System.out.println("Son--静态方法块");
}
{
System.out.println("Son--非静态方法块");
}
}
输出结果为:
Father--静态方法块
Son--静态方法块
Father--非静态方法块
Father--构造函数
Son--非静态方法块
Son--构造函数
分享到:
相关推荐
Java的静态代码块、非静态代码块、构造函数的简单的java代码
1 静态变量,静态代码块(类加载时执行,类不加载不执行) 2 实例变量,实例代码块(创建对象时才执行,不创建对象不执行) 3 构造函数,(创建对象时执行完2后再执行构造函数,不管构造函数是public还是private...
对静态代码块以及构造函数的执行先后顺序,一直很迷惑,直到最近看到一段代码,发现终于弄懂了,所以这篇文章主要给大家介绍了关于如何判断java中静态代码块与构造方法的执行顺序的相关资料,需要的朋友可以参考下。
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
staticBlock.java 演示静态块的使用 staticVar.java 定义静态变量 supplyTest.java 对象作为静态成员使用示例 trySwap.java 试图交换两个形参的值 useOnlyTest.java 创建多个对象,演示this的作用 ...
数组,类,构造函数,内存分配,静态代码块 java经典的几道题目,从基础中看到经典
一、模板类,里面包括:成员变量、静态变量、普通代码块、静态代码块、普通方法、静态方法、构造函数、静态内部类(包括:成员变量、静态变量、普通代码块、静态代码块、普通方法、静态方法、构造函数)。
静态代码块>构造代码块>构造函数 单例模式:保证一个类在内存中的对象唯一性 代码体现:私有化构造函数,创建私有并静态的本类对象,定义公有并静态的方法,返回该对象 //饿汉式 class Single{ private Single(){}//...
主要介绍了举例说明Java中代码块的执行顺序,包括静态属性和非静态属性以及构造函数等相关的执行先后,需要的朋友可以参考下
静态方法和静态的代码块中绝对不能出现this。this也可作为构造函数来使用。在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针, 而这个超类指的是离自己最近的一个父类。super的...
2. 在静态代码块中,初始化了一个DecimalFormat 对象 df用于格式化文件大小的显示。 3. server类的构造函数通过调用 super(SERVER_PORT)来创建一个服务器端的Socket。 4. load()方法是一个循环,用于接收客户端的...
构造函数和一般函数的不同 构造代码块: 作用: 特点: 构造代码块和构造函数的区别: this: Static关键字 用法: 被修饰的成员具备以下特点: 注意 静态代码块: 特点: 实例变量和类变量的区别: 静态利弊: 工具...
给定一个C语言函数,要求实现在java类中进行调用。 45.如何获得数组的长度? 46.访问修饰符“public/private/protected/缺省的修饰符”的使用 47.用关键字final修饰一个类或者方法时,有何意义? 48.掌握类和...
5.9.2 初始化块和构造器 161 5.9.3 静态初始化块 162 5.10 本章小结 165 本章练习 165 第6章 面向对象(下) 166 6.1 基本数据类型的包装类 167 6.2 处理对象 170 6.2.1 打印对象和toString方法 170 6.2.2 =...
构造函数 代码块 代码块的说明 this关键字 static关键字 使用static关键字统计类的创建次数 面向对象 main函数 设计模式-单例 继承 jvm类加载顺序决定代码执行顺序 super关键字 方法重写 instanceof关键字 fi
不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface)...
《jTester使用指南》jTester 写单元测试的开发文档,作者吴大瑞,pdf 格式,大小 1.1MB。...mock构造函数和静态代码块 new MockUp和spring的集成 针对静态mock做断言 动态mock,new Expectations的使用
类、构造函数和继承 25-01-2019 OOP 第 2 部分 - 组合、封装和多态 28-01-2019 数组、Java 内置列表、自动装箱和拆箱 31-01-2019 内部和抽象类和接口 13-05-2019 Java泛型 14-05-2019 命名约定和包,“静态”和...