java学习笔记(十八)代码块
2011-11-03 12:14
288 查看
代码块
1:普通代码块:直接定义在方法中的代码
public class MainDemo01 { public static void main(String args[]){ { int c = 40; System.out.println(c); } int c =100; System.out.println(c); } }
输出为:
F:\java>javac MainDemo01.java
F:\java>java MainDemo01 one
40
100
2:构造代码块:直接定义在类中的代码
class Demo { { System.out.println("构造块"); } public Demo(){ System.out.println("构造方法"); } } public class MainDemo01 { public static void main(String args[]){ new Demo(); new Demo(); new Demo(); new Demo(); new Demo(); } }
输出为:
F:\java>java MainDemo01
构造块
构造方法
构造块
构造方法
构造块
构造方法
构造块
构造方法
构造块
构造方法
构造块优于构造方法执行,执行多次。
3:静态代码块:直接使用static关键字声明的代码
class Demo { { System.out.println("构造块"); } static { System.out.println("静态代码块"); } public Demo(){ System.out.println("构造方法"); } } public class MainDemo01 { static{ System.out.println("在主方法中定义的代码块"); } public static void main(String args[]){ new Demo(); new Demo(); new Demo(); new Demo(); new Demo(); } }
输出为:
F:\java>java MainDemo01
在主方法中定义的代码块
静态代码块
构造块
构造方法
构造块
构造方法
构造块
构造方法
构造块
构造方法
构造块
构造方法
得出结论;
1:静态块优先于主方法执行,如果在普通类中定义的静态块,优先于构造块执行,不管有多少实例化对象产生,静态代码块只执行一次,静态代码块的主要功能是为静态属性初始化。
能不能不使用主方法就输出“helloworld”呢?
答案是可以的。
public class MainDemo01 { static{ System.out.println("helloworld"); } }
输出为:
F:\java>java MainDemo01
helloworld
Exception in thread "main" java.lang.NoSuchMethodError: main
可以输出,但是出现错误,程序仍然继续寻找主方法,能不能去掉这个错误呢》
答案是可以的
public class MainDemo01 { static{ System.out.println("helloworld"); System.exit(1); } }
输出为:
F:\java>java MainDemo01
helloworld
相关文章推荐
- 0023 Java学习笔记-面向对象-初始化代码块
- 【Java学习笔记之十八】Javadoc注释的用法
- Java学习笔记(十八)软件开发、Ant及重构
- 【Java学习笔记之十七】Java中普通代码块,构造代码块,静态代码块区别及代码示例分析
- Java学习笔记(十八):static关键字
- Java学习笔记 10 各种各样的代码块
- Android(java)学习笔记188:关于构造代码块,构造函数的一道面试题(华为面试题)
- Java学习笔记十八:Java面向对象的三大特性之封装
- java学习笔记之——代码块
- java学习笔记代码块和继承
- Java静态代码块学习笔记
- 黑马程序员_毕向东_Java基础视频教程学习笔记(十八)
- Java菜鸟学习笔记--面向对象篇(十八):对象转型&多态
- Java菜鸟学习笔记--面向对象篇(十八):对象转型&多态
- 【Java学习笔记】继承,代码块和关键字
- java学习笔记(十八)
- JAVA学习笔记(九)- 初始化块与静态代码块
- Java学习笔记(21)-- Java 代码块详解
- Java学习笔记——静态代码块,构造代码块,构造函数间的执行顺序
- java学习笔记(十八)权限修饰符