从头认识java-4.7 构造器初始化(3)
2015-10-27 23:26
363 查看
接着上一章节。
(4)显性初始化静态域
通过静态代码块来初始化某些属性域。package com.ray.testobject;
public class Test {
private static int id;
private static String name;
static {
id = 0;
name = "abc";
System.out.println("id:" + id);
System.out.println("name:" + name);
}
public static int getId() {
return id;
}
public static void main(String[] args) {
// new Test();
System.out.println(Test.getId());
}
}
如果我们把new Test()放开,得到也是下面的结果。因为代码块只会执行一次。
输出:
id:0
name:abc
0
我们下面在给一个例子:package com.ray.testobject;
public class Test {
private static int id = 0;
private static String name;
static {
System.out.println("id:" + id);
name = "abc";
System.out.println("name:" + name);
}
public Test() {
System.out.println("create Test");
}
public static void main(String[] args) {
new Test();
new Test();
}
}
输出:
id:0
name:abc
create Test
create Test
(5)初始化非静态域package com.ray.testobject;
public class Test {
private String name;
{
name = "abc";
System.out.println("name:" + name);
}
public static void main(String[] args) {
new Test();
new Test();
}
}
输出:
name:abc
name:abc
初始化非静态域,每一次的new,代码块都会执行一次。
总结:这一章节主要讨论了显性初始化静态域,以及初始化非静态域。
这一章节就到这里,谢谢。-----------------------------------目录
(4)显性初始化静态域
通过静态代码块来初始化某些属性域。package com.ray.testobject;
public class Test {
private static int id;
private static String name;
static {
id = 0;
name = "abc";
System.out.println("id:" + id);
System.out.println("name:" + name);
}
public static int getId() {
return id;
}
public static void main(String[] args) {
// new Test();
System.out.println(Test.getId());
}
}
如果我们把new Test()放开,得到也是下面的结果。因为代码块只会执行一次。
输出:
id:0
name:abc
0
我们下面在给一个例子:package com.ray.testobject;
public class Test {
private static int id = 0;
private static String name;
static {
System.out.println("id:" + id);
name = "abc";
System.out.println("name:" + name);
}
public Test() {
System.out.println("create Test");
}
public static void main(String[] args) {
new Test();
new Test();
}
}
输出:
id:0
name:abc
create Test
create Test
(5)初始化非静态域package com.ray.testobject;
public class Test {
private String name;
{
name = "abc";
System.out.println("name:" + name);
}
public static void main(String[] args) {
new Test();
new Test();
}
}
输出:
name:abc
name:abc
初始化非静态域,每一次的new,代码块都会执行一次。
总结:这一章节主要讨论了显性初始化静态域,以及初始化非静态域。
这一章节就到这里,谢谢。-----------------------------------目录
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统