java中的构造块、静态块等说明

 一:这篇博客写的时候我在学校已经一个星期了,为什么又会想到写这le,因为这几天又在重新学下有关spring、myBatis的知识,其中在实例化sessionFactory的时候用到了静态块,虽然在学习Hibernate时也用到过,那时候没现在想的深入。所以就回过头来记载下吧。

  最近自己突然觉得做网页好没意思啊,强烈的感觉啊,现在觉得去学习android和ios很好,因为觉得做网页都是那几个框架,一成不变啊,写来写去都是这么做。看来自己在程序这方面做不久啊。

  二:先说说静态块:

  static{

  System.out.println("静态块");

  }

  这是静态块的写法。静态块优先于主方法执行,主类中的静态块优先于类中的静态块执行。静态块优先于构造块,并且只执行一次。

  构造快:


className{

{

System.out.println("构造块");

}

publicName(){

System.out.println("构造方法中");

}

}

  构造块会随着构造方法执行,构造方法执行多少次,构造块就执行多少次,构造块优先于构造方法执行

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-16 09:26:46

java中的构造块、静态块等说明的相关文章

关于java中加载和初始化的疑问?各位帮忙分析下

问题描述 关于java中加载和初始化的疑问?各位帮忙分析下 public class ExA { private static ExA a = new ExA(); static { System.out.println("父类--静态代码块"); } public ExA() { System.out.println("父类--构造函数"); } { System.out.println("父类--非静态代码块"); } public stat

关于java中加载和初始化的疑问?各位帮忙分析下 谢谢大家了

问题描述 关于java中加载和初始化的疑问?各位帮忙分析下 谢谢大家了 http://ask.csdn.net/questions/254535 解决方案 public class Test20160509 { public static int k = 5; public static Test20160509 t1 = new Test20160509("t1"); public static Test20160509 t2 = new Test20160509("t2&

深入浅析Java中普通代码块、构造代码块与静态代码块_java

//执行顺序:(优先级从高到低.) 静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现"{普通代码的执行语句}"的就称为普通代码块. *普通代码块执行顺序由他们在代码中出现的次序决定--"先出现先执行" * */ { System.out.p

Java中的static静态代码块的使用详解_java

一.与静态方法的比较 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口.两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的. 二.静态方法注意事项 使用类的静态方法时,注意: a.在静态方法里只能直接调用同类中其他的静态成员(包括变量

Java中的static静态代码块

一.与静态方法的比较 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口.两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的.   二.静态方法注意事项 使用类的静态方法时,注意: a.在静态方法里只能直接调用同类中其他的静态成员(包括

在Java中使用VC++组件

介绍JNI是我喜欢的java编程框架:它让你你自由的使用本地编写的代码.例如,如果你想要在你的java程序中使用Windows API(不如说dll),那么你就要用JNI. Java最受欢迎的特性就是它的平台无关性.但是,有时候这一特性也会使你将Java程序与本地平台整合变得困难. 例如,在我们的工程中,将消息添加到数据库之前,我们使用MSM Q(Microsoft Messaging Que)的队列机制来维护消息(为了避免消息丢失).Microsoft提供了MSM Q API,它是Window

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

前言    今天在看Android ContentProvider实现的时候,突然想到了Java类在new的过程中,静态域.静态块.非静态域.非静态块.构造函数的执行顺序问题.其实这是一个很经典的问题,非常考察对Java基础知识的掌握程度.很多面试过程中相信也有这样的问题,趁着周末有时间复习一下. 结论    这里先把整理好的结论抛给大家,然后我在写个程序来验证我们的结论.在Java类被new的过程中,执行顺序如下:     实现自身的静态属性和静态代码块.(根据代码出现的顺序决定谁先执行)  

怎样很好的将java中的构造重载学好(初学者)

问题描述 怎样很好的将java中的构造重载学好(初学者) 现在初学,但是在写代码的时候总是无法使用构造重载这种方法,并且在写代码的时候老是思绪混乱应该怎莫办??????? 解决方案 java允许在一个类中,多个方法拥有相同的名字,但在名字相同的同时,必须有不同的参数,这就是重载,编译器会根据实际情况挑选出正确的方法,如果编译器找不到匹配的参数或者找出多个可能的匹配就会产生编译时错误,这个过程被称为重载的解析 1 普通方法的重载 普通方法的重载是Java实现多态技术的重要手段,为编程带来了很多便利

java中的Static class

Java中的类可以是static吗?答案是可以.在java中我们可以有静态实例变量.静态方法.静态块.类也可以是静态的.      java允许我们在一个类里面定义静态类.比如内部类(nested class).把nested class封闭起来的类叫外部类.在java中,我们不能用static修饰顶级类(top level class).只有内部类可以为static.      静态内部类和非静态内部类之间到底有什么不同呢?下面是两者间主要的不同.     (1)内部静态类不需要有指向外部类的