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:位运算符(了解 ...
随机推荐
- ScrollView定时器复用
起始偏移量设置为一个宽度 [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(refreshPic) us ...
- illegal multibyte sequence python3
错误信息如下: page_data = m.decode('gbk') UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in positi ...
- php新增的一些特性
php新增的特性,只是略微整理,并不完全. 一.php5.3添加的新特性 1.?:简化的三元运算符 <?php $cur = $cur ? $cur : 1; $cur = $cur ?: 1; ...
- 富文本编辑器--FCKEditor 上传图片
FCKEditor的最新版本已经更改名称为CKEditor: 1.在页面引入fckeditor目录下的fckeditor.js <script type="text/javascrip ...
- Tech 2 doesn’t system for H2 above 2007
I purchased my Tech2 from obd2tool.com and it operates excellent. Can not definitely compare softwar ...
- RNA Sequencing
RNA Sequencing 选择其他单元: RNA Sequencing 国内领先的转录组定序基地 Transcriptome Sequencing可全面性并快速地获得某一物种特定细胞或组织在某一状 ...
- Python 环境安装教程(Windows 10)
Python编程语言非常强大,非常容易上手,版本更新也不慢,在win10 x64中兼容性也很好,直接安装不需另外配置,虽然Python2和3有点异同.学习的话选择最新的 python 3.7.1版. ...
- POJ 3041.Asteroids 最小顶点覆盖
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 22905 Accepted: 12421 Descr ...
- powerdesigner mysql逆向工程注释不显示问题
- 基于centos6.5 hbase 集群搭建
注意本章内容是在上一篇文章“基于centos6.5 hadoop 集群搭建”基础上创建的 1.上传hbase安装包 hbase-0.96.2-hadoop2 我的目录存放在/usr/hadoop/hb ...