java 块语句 和引用类型
1、java中存在块语句,块语句分为四种
1、静态块
2、普通块
3、构造块
4、同步块
静态块的执行时机是在class文件装载的时候;静态块只会执行一次,
多个静态块的时候,按出现顺序执行,存放类的信息,用来在生成类之前进行的初始化,对一些static 变量赋值。如果某些代码必须要在项目启动时候就执行的时候,我们可以采用静态代码块,这种代码是主动执行的。
普通块存在于方法体中,用于设置变量的作用域,
构造块,初始对象信息,每创建一个对象,初始化一次,先于构造器执行
当一个类有很多个构造方法,每个构造方法里都要重复执行一段代码时,可以把这段代码放入进构造块中,每次创建对象时都会被执行。
同步块:
请点下面:
http://hi.baidu.com/jiangyangw3r/item/a3d53ed6bb72b21e20e2504c
其中,
在一个类中,静态块,构造方法和构造块的执行顺序为:(类第一次加载的时候)
父类静态块,子类的静态块,父类的构造块,父类的构造方法,子类的构造块,子类的构造方法
程序代码如下:
Parent:
public class Parent {
{
System.out.println("我是父类的普通语句块");
}
Parent(){
System.out.println("我是父类的构造方法");
}
static{
System.out.println("我是父类的静态语句块");
}
}
Child:
public class Child extends Parent{
static {
System.out.println("我是子类的静态语句块");
}
{
System.out.println("我是子类的普通语句块");
}
Child(){
System.out.println("我是子类的构造方法");
}
}
Test:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Child child = new Child();
}
}
程序的输出如下:

2、引用分类(不是引用类型分类)
从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。
1、强引用:
2、软引用
3、弱引用
4、虚引用
请看下面的网址:
http://java.chinaitlab.com/oop/716371.html
java 块语句 和引用类型的更多相关文章
- 【转】Java finally语句到底是在return之前还是之后执行?
网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过试验,至少有两种情况下final ...
- Java finally语句到底是在return之前还是之后执行(JVM字节码分析及内部体系结构)?
之前看了一篇关于"Java finally语句到底是在return之前还是之后执行?"这样的博客,看到兴致处,突然博客里的一个测试用例让我产生了疑惑. 测试用例如下: public ...
- 关于Java中语句符号及格式的理解
关于Java中语句符号及格式的理解 这篇文章是撰写的第一篇文章,在此作一下博主是一名在读的工科研究生,种种原因,研二开始决定转行从事程序员工作.开始的自学之路并不算非常顺畅,也走了一点弯路,但一直都坚 ...
- Java-Runoob:Java 条件语句
ylbtech-Java-Runoob:Java 条件语句 1.返回顶部 1. Java 条件语句 - if...else 一个 if 语句包含一个布尔表达式和一条或多条语句. 语法 if 语句的语法 ...
- Java 基础 - 基本类型和引用类型
ref: https://www.cnblogs.com/ysocean/p/8482979.html#_label2 ------------------ 这里再给大家普及一个概念,在 Java 中 ...
- javascript语句——表达式语句、块语句、空语句和声明语句
× 目录 [1]表达式 [2]块语句 [3]空语句[4]声明 前面的话 如果表达式在javascript中是短语,那么语句(statement)就是javascript整句或命令.表达式计算出一个值, ...
- java中四种引用类型
java中四种引用类型 今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混.后来在 ...
- 【Demo 0002】Java基础-语句
本章学习要点: 1. 掌握Java关健语句使用方法; 2. 理解与语句相关的关键字用法; 一.Java 关键语句 Java语句以及关联关键字与C完全相 ...
- 7#Java基本语句语法
Java基本语句语法https://github.com/DuGuQiuBai/Java/blob/master/day03/day03%E6%80%BB%E7%BB%93.txt 1:位运算符(了解 ...
随机推荐
- EXCEL中去掉撇号的操作方法
▲数字前带撇号 选定想去掉撇号的列,然后选“数据”→“分列”在弹出的 对话框中单击“下一步” ,在“文本标识符号”处选择“'” 单击 “完成”即可
- 数据节点-df 无法输出结果
1. 删除了 a 机器的/opt/data 目录 2.b与c 机器挂载了 a机器的/opt/data 3.df -h 无法输出结果 最后参考:http://blog.csdn.net/lufeisan ...
- Mac下GitHub以及GitHub Desktop使用实战
Hub是一个面向开源及私有软件项目的托管平台.开源代码库以及版本控制系统,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.通常在Windows下使用GitHub的教程是非常多的, ...
- ubuntu下sudo apt-get update Sources 404 Not Found 解决方法
刚安装了ubuntu之后的主要安装命令无非就是apt-get install了,然而很多都在这里就夭折了. 使用apt-get install ***需要先执行apt-get update 加载文件包 ...
- Activity横竖屏切换时 一些数据的保存
private VideoView videoView; 02.private static final String VIDEO_PATH = Environment 03. .getExterna ...
- SSH Secure File Transfer Client 无法登陆
嘉之叹息 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATI ...
- input,textarea在ios和Android上阴影和边框的处理方法(在移动端)
1.去掉ios上阴影的方法只需要在css文件上添加input,textarea{-webkit-appearance: none;}就可以了 2.在移动端上input和textarea边框问题,也是在 ...
- C#设计模式-1简单工厂模式Simple Factory)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 简单的工 ...
- Java 7.35 游戏:猜字游戏(C++&Java)
Ps: 有人可能好奇我为什么大费周章的去写主函数,而不直接把所有操作放在类中,Why?类就好比骨干(存放核心的数据和功能),最好提供接口, 避免了类中的输入输出,当然,这也不是绝对的. C++: #i ...
- PHP Jquery 代码操作 内容 属性 样式 事件 Json数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...