静态块 static

static,都是最先初始化好的。结构如下:

static {

静态语句代码块

}

 

{

非静态语句代码块

}

异同点

相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋     值。

不同点:静态代码块在非静态代码块之前执行(静态代码块--》非静态代码块--》构造方法)。

    静态代码块只在第一次new执行一次,之后不在执行,而非静态代码块在每new一次就执行一次。非静态代码块可以     在普通方法中定义(个人感觉作用不大);而静态代码块不行。

时间: 2024-10-07 08:31:22

静态块 static的相关文章

java杂记-static

首先是static的概念 借鉴 http://lavasoft.blog.51cto.com/62575/18771/  (好吧,都是复制这个的.写的很好,所以我就复制了) static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,java中无全局概念. 被static修饰的成员变量和成员方法独立于该类的任何对象,也就是说,它不依赖类特定的实例,被类的所有实例共享.只要这个类被加载,Java虚拟机就能根据类名在运行时数

Java类静态属性、静态块、非静态属性、非静态块、构造函数在初始化时的执行顺序

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

Java基础之static关键字的用法

Java中的static关键字主要用于内存管理.我们可以应用static关键字在变量.方法.块和嵌套类中. static关键字属于类,而不是类的实例.        静态(static)可以是: 变量(也称为类变量) 方法(也称为类方法) 代码块 嵌套类         修饰变量 被static修饰的变量称作静态变量或类变量:没有被static修饰的变量,称为实例变量.静态变量在内存中只有一个拷贝(节省内存),JVM只为静态变量分配一次内存,在类加载的过程中完成静态变量的内存分配(存储在"方法区

Java关于static的作用

概述 只要是有学过Java的都一定知道static,也一定能多多少少说出一些作用和注意事项.如果已经对static了如指掌的请点击关闭按钮,看下去也只是浪费您宝贵时间而已.这篇随笔只是个人的习惯总结. 为什么需要static? 有时候我们并不想去new一个对象,只是单纯的想要调用一个函数,并且希望这个函数不会与包含它的类的其他对象有所关联.说得通俗点,即使没有创建对象,也能通过类本身来调用函数. static静态变量 被static修饰的变量属于类变量,通过字面意思就说明了这个变量的归属(类),

-Java基础-构造器

1.构造器 构造器就是类创建对象的初始化方法.它的名字与类名相同. 假设没有写有构造器的情况下,虚拟机会自动加上一个没有参数的构造器,如果[学Java,到凯哥学堂kaige123.com]写有构造器,那么虚拟机就不会在加上构造器了. public class Test1 { public Test1() { System.out.println("我是构造器!"); } } 2.构造器重载 构造器就是一个方法,所以它和普通的方法一样也可以做方法重载,换句话说就是构造器的重载. 和方法重

Java常量池详解之Integer缓存

一个Java question,求输出结果   public class IntegerTest { public static void main(String[] args) { objPoolTest(); } public static void objPoolTest() { Integer i1 = 40; Integer i2 = 40; Integer i3 = 0; Integer i4 = new Integer(40); Integer i5 = new Integer(4

Hibernate一对多单向(双向)关联映射

(1).编写配置文件 Hibernate通过读写默认的XML配置文件hibernate.cfg.xml加载数据库配置信息.代码如下: <hibernate-configuration> <session-factory> <!-- 数据库驱动 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 数据库连接的U

Hadoop技术内幕HDFS-笔记2

任何一个复杂的软件系统,为了提高其适应性和扩展性,一般都会有一个配置模块或者配置系统,作完成其扩展.定制的手段和方式. 1.1.  Windows的配置文件 (第一次知道这事啊): 采用的是ini后缀的文本文件,可通过动态链接库提供方法进行处理. 初始化文件或profile概要文件 1.2.  Java配置文件: Properties文件 Xml文件 工具:Apache Commons Configuration 用于对配置文件进行常用的操作. Hadoop configuration Hado

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧! 图片上传是非常常见的功能,而多图上传在大多数应用中也是非常常见的,比如微信的朋友圈,微博的动态,都是有九宫格图片的,那这里肯定涉及了多图上传,所以今天我们来一起撸一下,怎么去思考这个实现逻辑! 这里我想到的思路是比较简单的,首先,我们有一个按钮,按钮是上传图片,点击之后弹出某个界面进行图片的选择,一般是九张图片或者十二张,选完之后就直接上传了,大致的流程应该是这个样子,那我们首先来写个按钮 activity_main.xml <?