java 类的变量 和 静态变量 的初始化
来源:互联网 发布:python api文档在哪有 编辑:程序博客网 时间:2024/04/27 02:10
import java.util.Scanner;/** * 练习 java 有关 类的数据成员初始化,包括 静态变量 和 静态函数 的操作 * @author yangfan32 * */public class MainClass {public static void main(String[] args) {System.out.println("Create New Tools() in main() ");new Tools();System.out.println("Create New Tools() in main() ");new Tools();}}// 只能存在一个公有类class Tools {Tool t1 = new Tool(1);static Tool t2 = new Tool(2);Tools(){System.out.println("在 Tools 的构造函数中");t4 = new Tool(44);}static Tool t3 = new Tool(3);Tool t4 = new Tool(4);static {}}class Tool {int id;Tool(int i){//System.out.println("在 Tool 的 构造函数中");this.id = i;System.out.println("Tool("+this.id+")");}}结果
分析: 类先初始化 类中的静态变量,然后初始化其他变量,再进入类的构造函数。类的静态变量只会初始化一次。
静态初始化块
import java.util.Scanner;/** * 练习 java 有关 类的数据成员初始化,包括 静态变量 和 静态函数 的操作 * * @author yangfan32 * */public class MainClass {public static void main(String[] args) {System.out.println(" main() ");Tools.t3.show();}static Tools ts = new Tools();}// 只能存在一个公有类class Tools {static Tool t1 = new Tool(1);Tools() {System.out.println("在 Tools 的构造函数中");}static Tool t2 = new Tool(2);static {System.out.println("进入静态初始化块");t1 = new Tool(11);t2 = new Tool(22);t3 = new Tool(33);System.out.println("退出静态初始化块");}static Tool t3 = new Tool(3);}class Tool {int id;Tool(int i) {this.id = i;System.out.println("Tool(" + this.id + ")");}public void show() {System.out.println("show(" +this.id+ ")");}}结果
分析:静态初始化块只会在第一次使用该类时执行。静态初始化块中的语句和声明静态变量时指定初值的动作会按照他们在类定义中出现的顺序。
如 静态变量 t3
- java 类的变量 和 静态变量 的初始化
- java静态变量和非静态变量的初始化
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造方法)
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)
- 静态变量的初始化
- 静态变量的初始化
- 静态变量的初始化
- 静态变量的初始化
- 静态变量的初始化
- 【转】Java类的初始化顺序 (静态变量、静态初始化块、变量
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始...
- Java类的初始化顺序 (静态变量、静态初始化块、变量 )
- Java —— 静态变量的声明和初始化
- Java中静态变量和非静态变量的初始化顺序
- Java中静态变量、块、非静态变量、块和构造器的初始化顺序
- Java静态变量的初始化【转】
- Java 静态变量的初始化顺序
- Struts1.x系列教程(15):使用DownloadAction类统计文件下载次数
- 信息设计软件+信息图表设计软件介绍
- 开始写博客
- Struts1.x系列教程(16):使用LocaleAction类实现国际化的Web程序
- 英语精读001-How to Improve Your Study Habits
- java 类的变量 和 静态变量 的初始化
- Android笔记(4)——android 颜色值 xml
- Struts1.x系列教程(17):使用IncludeAction和ForwardAction类包含和转入Web资源
- SQLServer2005 Reporting Service - AdventureWork Sample Report配置
- Java程序练习-Financial Management
- Struts1.x系列教程(18):使用DispatchAction类调用多个Action方法
- oracle表分区
- OSI七层
- Struts1.x系列教程(19):LookupDispatchAction类处理一个form多个submit