java中的代码块理解
代码块:就是用{}括起来到部分。根据应用的不同分为4类:普通代码块、构造块、静态代码块、同步代码块。
1.普通代码块:定义在方法中的代码块。
如:
public class Ex22 {
public static void main(String[] args){
// 普通代码块
{
int i = 3;
System.out.println("局部变量为 " + i);
}
int i = 5;
System.out.println("相对上面的 i 来说是全局的变量 " + i);
}
}
//局部变量为 3
//相对上面的 i 来说是全局的变量 5
2.构造块:直接在类中编写的代码块。
class Demo5{
{
System.out.println("构造块");
}
public Demo5(){
System.out.println("构造方法");
}
{
System.out.println("构造方法后的构造块");
}
}
public class Ex22 {
public static void main(String[] args){
new Demo5();
new Demo5();
}
}
//构造块
//构造方法后的构造块
//构造方法
//构造块
//构造方法后的构造块
//构造方法
对象被实例化一次构造块就执行一次;
构造块优先执行比构造方法.
3.静态代码块:static 关键字声明的代码块.
class Demo5{
{
System.out.println("1构造块");
}
public Demo5(){
System.out.println("2构造方法");
}
{
System.out.println("3构造方法后的构造块");
}
static {
System.out.println("4静态代码块");
}
}
public class Ex22 {
static {
System.out.println("在主方法类中定义的代码块");
}
public static void main(String[] args){
new Demo5();
new Demo5();
}
}
//在主方法类中定义的代码块
//4静态代码块
//1构造块
//3构造方法后的构造块
//2构造方法
//1构造块
//3构造方法后的构造块
//2构造方法
主方法静态代码块优先于主方法,
在普通类中静态块优先于构造块,
在普通类中构造块优先于构造方法,
静态块只实例化一次。
相关文档:
一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问题等。下面笔者就开发中的一些体会介绍给大家。
我们知道,Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对 ......
JDK版本
JDK1.4.x
功能
实现了带有复选框的资源管理器树目录,还有需要改进的地方,我在以后更新,如果那位朋友有好的建议欢迎提出
欢迎大家提意见,交流
......
JAVA annotation入门
最近对spring源码感兴趣,今天看到annotation部分,略记之。
一. 最常见的annotation
@Override:用在方法之上,用来告诉别人这一个方法是改写父类的
@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在 ......
转载自 http://www.cn-java.com/www1/?action-viewnews-itemid-8283
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。
需要明确的几个问题:
1)synchronized关键字可以作为 ......
一、 单项选择题
1.Java是从( )语言改进重新设计。
A.Ada B.C++ C.Pasacal D.BASIC
答案:B
2.下列语句哪一个正确( )
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code
C. Java程序经编译后会产生DLL
D. 以上都不正确
答案:B ......