Java中普通代码块,构造代码块,静态代码块的代码演示样例及区分
//运行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。
当中静态代码块仅仅运行一次。构造代码块在每次创建对象是都会运行。
1 普通代码块
<span style="font-size:12px;">//普通代码块:在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句运行顺序由他们在代码中出现的次序决定--“先出现先运行”
public class CodeBlock01{
public static void main(String[] args){
{
int x=1;
System.out.println("1,普通代码块内的变量x="+x);
}
int x=2;
System.out.println("主方法内的变量x="+x);
{
int y=3;
System.out.println("2,普通代码块内的变量y="+y);
}
}
}
/*
运行结果:
1,普通代码块内的变量x=1
主方法内的变量x=2
2,普通代码块内的变量y=3
*/</span>
2
构造代码块
<span style="font-size:10px;">//构造块:直接在类中定义且没有加statickeyword的代码块称为{}构造代码块。
构造代码块在创建对象时被调用,每次创建对象都会被调用,而且构造代码块的运行次序优先于类构造函数。
public class CodeBlock02{
{
System.out.println("第一代码块");
}
public CodeBlock02(){
System.out.println("构造方法");
}
{
System.out.println("第二构造块");
}
public static void main(String[] args){
new CodeBlock02();
new CodeBlock02();
new CodeBlock02();
}
}
/*
*
运行结果:
第一代码块
第二构造块
构造方法
第一代码块
第二构造块
构造方法
第一代码块
第二构造块
构造方法
*/</span>
3
静态代码块
<span style="font-size:10px;">//静态代码块:在java中使用statickeyword声明的代码块。静态块用于初始化类,为类的属性初始化。每一个静态代码块仅仅会运行一次。因为JVM在载入类时会运行静态代码块。所以静态代码块先于主方法运行。
//假设类中包括多个静态代码块,那么将依照"先定义的代码先运行。后定义的代码后运行"。
//注意:1 静态代码块不能存在于不论什么方法体内。2 静态代码块不能直接訪问静态实例变量和实例方法,须要通过类的实例对象来訪问。
class Code{
{
System.out.println("Code的构造块");
}
static{
System.out.println("Code的静态代码块");
}
public Code(){
System.out.println("Code的构造方法");
}
}
public class CodeBlock03{
{
System.out.println("CodeBlock03的构造块");
}
static{
System.out.println("CodeBlock03的静态代码块");
}
public CodeBlock03(){
System.out.println("CodeBlock03的构造方法");
}
public static void main(String[] args){
System.out.println("CodeBlock03的主方法");
new Code();
new Code();
new CodeBlock03();
new CodeBlock03();
}
}
/*
CodeBlock03的静态代码块
CodeBlock03的主方法
Code的静态代码块
Code的构造块
Code的构造方法
Code的构造块
Code的构造方法
CodeBlock03的构造块
CodeBlock03的构造方法
CodeBlock03的构造块
CodeBlock03的构造方法
*/</span>
Java中普通代码块,构造代码块,静态代码块的代码演示样例及区分的更多相关文章
- Java中的初始化顺序(静态成员、静态初始化块,普通成员、普通初始化块、构造函数)
本文链接 http://blog.csdn.net/xiaodongrush/article/details/29170099 參考文章 http://my.oschina.net/le ...
- AppCan移动应用开发平台新增9个超有用插件(内含演示样例代码)
使用AppCan平台进行移动开发.你所须要具备的是Html5+CSS +JS前端语言基础.此外.Hybrid混合模式应用还需结合原生语言对功能模块进行封装,对于没有原生基础的开发人员,怎样实现App里 ...
- java 又一次抛出异常 相关处理结果演示样例代码
java 又一次抛出异常 相关处理结果演示样例代码 package org.rui.ExceptionTest; /** * 又一次抛出异常 * 在某些情况下,我们想又一次掷出刚才产生过的违例,特别是 ...
- java 线程、线程池基本应用演示样例代码回想
java 线程.线程池基本应用演示样例代码回想 package org.rui.thread; /** * 定义任务 * * @author lenovo * */ public class Lift ...
- java 覆盖hashCode()深入探讨 代码演示样例
java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...
- java文件夹相关操作 演示样例代码
java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...
- java I/O进程控制,重定向 演示样例代码
java I/O进程控制,重定向 演示样例代码 package org.rui.io.util; import java.io.*; /** * 标准I/O重定向 */ public class Re ...
- 10分钟理解Android数据库的创建与使用(附具体解释和演示样例代码)
1.Android数据库简单介绍. Android系统的framework层集成了Sqlite3数据库.我们知道Sqlite3是一种轻量级的高效存储的数据库. Sqlite数据库具有以下长处: (1) ...
- Linux下用OTL操作MySql(包含自己封装的类库及演示样例代码下载)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ClamReason/article/details/23971805 首先重点推荐介绍otl介绍及使 ...
随机推荐
- FIR滤波器设计
FIR滤波器的优越性: 相位对应为严格的线性,不存在延迟失真,仅仅有固定的时间延迟: 因为不存在稳定性问题,设计相对简单: 仅仅包括实数算法,不涉及复数算法,不须要递推运算,长度为M,阶数为M-1,计 ...
- debian linux 中如何查看软件包是否已经安装和如何安装、卸载软件
练习 1 方案:确定软件包是否安装 如果您不确定某个软件包是否已经安装,可以使用 dpkg 的 -l (L的小写) 选项: $ dpkg -l zsh No packages found matchi ...
- javascript正则
<script type="text/javascript"> //去除两边空格,如果要去除所有空格,使用/\s*即可/ String.prototype.trim ...
- datagrid的基本操作-增删改
1 ---恢复内容开始--- <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- 函数malloc的实现源代码
/****************************************************************Copyright 1990, 1994, 2000 by AT&am ...
- C#进程与线程
public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { / ...
- Dalvik指令集
类型 语法 含义 V void,只用于返回值类型 Z boolean B byte S short C char I int J long F float D double L Java类类型 [ 数 ...
- 使用PHP-Barcode轻松生成条形码(一)
最近由于工作需要,研究了一下PHP如何生成条形码.虽然二维码时下比较流行,但是条形码依然应用广泛,不可替代.园子里有很多讲利用PHP生成条形码的文章,基本上都是围绕Barcode Bakery的,它虽 ...
- Android再学习-20141023-Intent-Thread
20141023-Android再学习 Intent对象的基本概念 Intent是Android应用程序组件之一 Intent对象在Android系统中表示一种意图 Intent当中最重要的内容是ac ...
- python之6-5偏函数
functools.partial 偏函数的作用是简化操作,简化什么操作呢?就是当我们有一个已知函数A,且这个函数包含有某个或多个参数A1,通过固定这个参数A1,我们可以自己编写一个新函数B,来减少代 ...