`
Mr_Chunlei
  • 浏览: 28757 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java静态代码块,代码块和构造函数

 
阅读更多

一、如果在类中存在多个静态代码块,则按照顺序执行静态代码块,而且只执行一个,其他的不予执行。非静态代码块,每次构建构造函数时都要执行一次。

二、不论是静态代码块还是非静态代码块,都是在构造函数执行之前执行。

三、如果含有子类则执行顺序为:

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的静态代码块、非静态代码块、构造函数的简单的java代码

    Java:静态代码块和构造函数执行顺序

     1 静态变量,静态代码块(类加载时执行,类不加载不执行)  2 实例变量,实例代码块(创建对象时才执行,不创建对象不执行)  3 构造函数,(创建对象时执行完2后再执行构造函数,不管构造函数是public还是private...

    java中静态代码块与构造方法的执行顺序判断

    对静态代码块以及构造函数的执行先后顺序,一直很迷惑,直到最近看到一段代码,发现终于弄懂了,所以这篇文章主要给大家介绍了关于如何判断java中静态代码块与构造方法的执行顺序的相关资料,需要的朋友可以参考下。

    java 静态非静态 字段方法 子类父类构造_初始化顺序!

    java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...

    Java开发技术大全(500个源代码).

    staticBlock.java 演示静态块的使用 staticVar.java 定义静态变量 supplyTest.java 对象作为静态成员使用示例 trySwap.java 试图交换两个形参的值 useOnlyTest.java 创建多个对象,演示this的作用 ...

    JAVA经典的题目一(含答案。8道经典)

    数组,类,构造函数,内存分配,静态代码块 java经典的几道题目,从基础中看到经典

    Java之static关键字

    一、模板类,里面包括:成员变量、静态变量、普通代码块、静态代码块、普通方法、静态方法、构造函数、静态内部类(包括:成员变量、静态变量、普通代码块、静态代码块、普通方法、静态方法、构造函数)。

    基于javatcpsocket通信的拆包和装包源码-java-:Java-

    静态代码块>构造代码块>构造函数 单例模式:保证一个类在内存中的对象唯一性 代码体现:私有化构造函数,创建私有并静态的本类对象,定义公有并静态的方法,返回该对象 //饿汉式 class Single{ private Single(){}//...

    举例说明Java中代码块的执行顺序

    主要介绍了举例说明Java中代码块的执行顺序,包括静态属性和非静态属性以及构造函数等相关的执行先后,需要的朋友可以参考下

    Java中this与super的区别

    静态方法和静态的代码块中绝对不能出现this。this也可作为构造函数来使用。在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针, 而这个超类指的是离自己最近的一个父类。super的...

    Java实现局域网内两点文件传输

    2. 在静态代码块中,初始化了一个DecimalFormat 对象 df用于格式化文件大小的显示。 3. server类的构造函数通过调用 super(SERVER_PORT)来创建一个服务器端的Socket。 4. load()方法是一个循环,用于接收客户端的...

    JAVA—面向对象

    构造函数和一般函数的不同 构造代码块: 作用: 特点: 构造代码块和构造函数的区别: this: Static关键字 用法: 被修饰的成员具备以下特点: 注意 静态代码块: 特点: 实例变量和类变量的区别: 静态利弊: 工具...

    JAVA面试题最全集

    给定一个C语言函数,要求实现在java类中进行调用。 45.如何获得数组的长度? 46.访问修饰符“public/private/protected/缺省的修饰符”的使用 47.用关键字final修饰一个类或者方法时,有何意义? 48.掌握类和...

    疯狂JAVA讲义

    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 =...

    javacore:java核心 运算符,控制语句,函数,异常,集合,线程,数组,IO流,网路编程,设计模式,java8,面试相关

    构造函数 代码块 代码块的说明 this关键字 static关键字 使用static关键字统计类的创建次数 面向对象 main函数 设计模式-单例 继承 jvm类加载顺序决定代码执行顺序 super关键字 方法重写 instanceof关键字 fi

    java 面试题 总结

    不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface)...

    jTester使用指南(带书签).pdf

    《jTester使用指南》jTester 写单元测试的开发文档,作者吴大瑞,pdf 格式,大小 1.1MB。...mock构造函数和静态代码块 new MockUp和spring的集成 针对静态mock做断言 动态mock,new Expectations的使用

    java8集合源码-Java-Programming-Masterclass:代码和课程笔记,Udemy-面向软件开发人员的Java编程大师班

    类、构造函数和继承 25-01-2019 OOP 第 2 部分 - 组合、封装和多态 28-01-2019 数组、Java 内置列表、自动装箱和拆箱 31-01-2019 内部和抽象类和接口 13-05-2019 Java泛型 14-05-2019 命名约定和包,“静态”和...

Global site tag (gtag.js) - Google Analytics