Java学习之初始化块

初始化块:

分类:

1、静态初始化块

2、非静态初始化块

语法:

[修饰符]{

初始化块逻辑

}

例子:

父类

public class Block {

	static {
		System.out.println("父类静态初始化块...");

	}

	{
		System.out.println("父类非静态初始化块...");

	}

	public Block(){
		System.out.println("构造器...");
	}

}

子类

public class BlockSon extends Block {

	static {
		System.out.println("子类静态初始化块...");

	}

	{
		System.out.println("子类非静态初始化块...");

	}

	public BlockSon() {
		System.out.println("子类构造器...");
	}

}

测试类

public class Client {

	public static void main(String[] args) {
		BlockSon bs = new BlockSon();
		System.out.println(bs.hashCode());
	}
}

结果

结论:执行顺序如图。

时间: 2024-08-06 13:51:22

Java学习之初始化块的相关文章

java类的初始化块/执行顺序,实例化对象数据赋值

java里初始化一个类的对象,通过初始化快或者构造方法进行数据赋值.与其相关的执行代码有这么几种: 静态初始化块 初始化块 构造方法 静态初始化块 静态初始化块只在类加载时执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 非静态初始化块 非静态初始化块在每次初始化实例对象的时候都执行一次,可以给任意变量赋值. 构造方法 在每次初始化实例对象时调用. 重点:执行顺序-> 在加载类时执行一次静态初始化块(之后不再调用). 在每次初始化实例对象时:先执行非静态初始化块,再执行构

Java基础:初始化块

Java语言提供了很多类初始化的方法,包括构造器.初始化器等.除了这两种方法之外,我们还可以用初始化块(initialization block)来实现初始化功能. 基本语法 初始化块是出现在类声明中的语句块,它位于所有成员.函数.构造器之外.例如使用静态初始化块,我们的HelloWorld可以这么写: public class Hello { static { System.out.println("Hello, world!"); } public static void main

java中的初始化块

public class Person { { System.out.println("Person初始化块"); } { if(1) { System.out.println("Person第二个初始化块"); } } public Person() { System.out.println("Person第二个初始化块"); } }

Java学习之代码块

package hello3;public class TestCode {           private String name;           public TestCode(){            System.out.println("构造方法执行了");           }           //构造代码块           {            System.out.println("构造代码块执行了");          

【Simple Java】什么是Java实例初始化块

在本篇文章,我将会使用一个例子展示什么是实例变量初始化块,实例初始化块和静态初始化块,然后说明在Java中实例初始化块是如何工作的. 执行顺序 查看下面的代码,你知道哪个先执行吗? package simplejava; class Foo { // instance variable initializer String s = "abc"; // constructor public Foo() { System.out.println("constructor call

java学习之静态块、显示初始化块、构造函数、this在构造函数中的调用,区别联系与调用顺序

1.静态代码块---给类初始化,随着类的加载而执行,只执行一次(注:仅创建类的引用(即只申明)并不会触动对该类的加载) /** * 静态代码块 * 特点:随着类的加载而执行,只执行一次,用于给类经行初始化 */ static{ System.out.println("a"); } 2.(显示初始化块)构造代码块---给对象初始化, /** * 构造代码块 * 作用:给对象进行初始化 * 对象一建立就运行,而且优先于构造函数执行 * * 和构造函数的区别 * 构造代码块是给所有对象进行统

java学习中,匿名函数、构造方法、构造代码块、构造方法中调用构造方法(java 学习中的小记录)

java学习中,匿名函数.构造方法.构造代码块.构造方法中调用构造方法(java 学习中的小记录) 作者:王可利(Star·星星) 匿名函数 匿名对象:没有名字的对象 匿名对象使用的注意点: 1.一般不会用匿名对象给属性赋值,无法获取属性值,每次new 都是一个新的对象. 2.匿名对象永远都不可能是一个对象. 如:person new().name = "星星":是不行的 匿名对象的好处:书写简单. 匿名对象使用的场景: 1.如果一个对象调用一个方法一次的时候,就可以用匿名对象来调用.

Java学习笔记四(代码块 )

1 代码块的分类:java中的代码块是指使用{}括起来的一段代码,根据位置不同可以分为四种: 普通代码块 构造快 静态代码块 同步代码块 今天主要学习前三种代码块,同步代码块在学习到多线程部分的时候再加学习. 2 普通代码块:直接定义在方法中的代码块,如下: public class CodeSpace { public static void main(String args[]){ { int x = 30; System.out.println("普通代码块x="+x); } /

java学习教程之代码块

学编程吧java学习教程之代码块发布了,欢迎通过xuebiancheng8.com来访问 java中的代码块包括下面几种: 1.普通代码块 2.构造代码块 3.静态代码块 1.普通代码块很简单看下面这个例子: public class Test{ public static void main(String args[]){ { //此处就是普通代码块,普通代码块中的代码按顺序执行 System.out.println("hello"); } } } 2.构造代码块 public cl