Java中的代码块
来源:互联网 发布:mac拖文件 编辑:程序博客网 时间:2024/05/05 22:37
1、代码块分类
1/1在某个方法内,或某个语句内,出现一对大括号,大括号内的就是代码块,可用于限定变量的作用域
1/2构造代码块(定义在类体中)
1/2/2 在实例化对象时执行,构造代码块和构造方法同时存在时,优先执行构造代码块,再执行构造方法。其作用同构造方法,用于初始化数据成员,或做一些先期的工作
1/2/3构造代码块虽然和构造方法作用相同,但是构造代码块不能传递参数,而构造方法可以
1/3静态代码块(定义在类体中)
1/3/1在代码块前加static关键字。
1/3/2当第一次实例化此类对象时,会被执行一次,之后将不再被执行。
1/3/3构造方法、普通代码块、静态代码块、方法代码块同时存在是的执行顺序:
静态代码块-->普通代码块-->构造方法-->方法内的代码块
1/3/4静态代码块只能访问静态成员
classDaiMaKuai
{
publicstatic void main(String[] args)
{
Testtest = new Test();
test.fun();
System.out.println("****************************");
Testtest2 = new Test();
test2.fun();
System.out.println("****************************");
Testtest3 = new Test();
test3.fun();
}
}
classTest
{
inti;
Stringstr;
//构造代码块优先于构造方法执行
Test(){
i= 60;
str= "Hi World!";
System.out.println(i+ " " + str);
}
{
//代码块可用于初始化成员变量,或者执行一些初期工作
i= 10;
str= "HelloWorld!";
System.out.println(i+ " " + str);
}
static{
System.out.println("静态代码块");
}
publicvoid fun(){
{
//此处不能再使用this使用成员变量
/*this.i= i;
this.Str= str;*/
inti = 23;
Stringstr = "ABCDEF";
System.out.println(i+ " " + str);
}
}
}
静态代码块
10HelloWorld!
60Hi World!
23ABCDEF
****************************
10HelloWorld!
60Hi World!
23ABCDEF
****************************
10HelloWorld!
60Hi World!
23ABCDEF
- Java中的代码块
- JAVA中的代码块
- Java中的代码块
- Java中的代码块
- java中的代码块
- Java中的代码块
- Java中的代码块
- Java中的代码块
- JAVA中的代码块
- Java中的代码块
- Java中的代码块
- java中的代码块
- java中的代码块
- Java中的代码块
- Java中的代码块
- java中的代码块理解
- java中的代码块理解
- Java 中的静态代码块
- Objective-C的Method Swizzle、对象模型、消息机制、消息转发的详解
- 开源框架(整理)
- HTML5 - 使用autofocus让控件自动获取焦点
- 利用SpannableString实现标签TAG效果(可加圆角)
- eclipse连接hadoop
- Java中的代码块
- centos7安装mysql5.7
- tar.bz2安装
- JS原生追加子节点
- 你最喜欢的 iOS 开发的技巧和提示有哪些?
- Java中的继承
- Wamp 修改默认网站目录的方法及出现You don't have permission to access / on this server问题解决
- PHP 二维array转换json
- C#中out和ref之间的区别