黑马程序员--代码块小知识总结
2013-11-22 15:03
148 查看
-------
android培训、java培训:期待与您交流! ---------
上面代码的运行结果为:
static {
需要运行代码;
}
注意:因为是静态的,运行代码中不能调用非静态成员。
2,作用:随着类的加载而执行,只执行一次。用于给类进行初始化(也就是一个类进入内存,在不需要对象的情况下,类需要先做什么)。
{
需要运行代码;
}
2,作用:随着对象的生成而加载执行,也是给对象进行初始化。
区别:静态代码块是对类进行初始化,因为静态代码块早于对象的创建。所以它只能做在一个类进入内存,在不需要对象的情况下,类需要先做什么。
构造函数代码块是对对象进行初始化,当对象创建使,才加载构造函数代码块。
注意:静态代码块和构造函数代码块是jvm自动调用。另外构造函数代码块和构造函数有区别。
-------
android培训、java培训:期待与您交流! ---------
android培训、java培训:期待与您交流! ---------
Java---static代码块、构造函数代码块
一、实例代码
先看下面一示例代码:class Person { private static int num=9; private String name; private int age; //下面是构造函数代码块 { name="zhanshan"; age=22; System.out.println("构造函数代码块"); } //下面是静态代码块 static { System.out.println("static代码块"); } Person() { System.out.println(name+"::"+age); } Person(String name) { this.name=name; System.out.println(name+"::"+age); } Person(String name,int age) { this.name=name; this.age=age; System.out.println(name+"::"+age); } } class ConstructorDemo { public static void main(String[] args) { new Person(); new Person("lisi"); new Person("wangwu",90); } }
上面代码的运行结果为:
二、static代码块
1,从代码中可以看到静态代码块的格式是:static {
需要运行代码;
}
注意:因为是静态的,运行代码中不能调用非静态成员。
2,作用:随着类的加载而执行,只执行一次。用于给类进行初始化(也就是一个类进入内存,在不需要对象的情况下,类需要先做什么)。
三、构造函数代码块
1,从代码中可以看到构造代码块的格式是:只有一个大括号。{
需要运行代码;
}
2,作用:随着对象的生成而加载执行,也是给对象进行初始化。
四、作用与区别
作用:静态代码块和构造函数代码块可以说都是进行初始化。区别:静态代码块是对类进行初始化,因为静态代码块早于对象的创建。所以它只能做在一个类进入内存,在不需要对象的情况下,类需要先做什么。
构造函数代码块是对对象进行初始化,当对象创建使,才加载构造函数代码块。
注意:静态代码块和构造函数代码块是jvm自动调用。另外构造函数代码块和构造函数有区别。
-------
android培训、java培训:期待与您交流! ---------
相关文章推荐
- [转Iphone]iphone开发阶段总结(二)代码知识
- 黑马程序员--对关于.NET的基础入门知识总结(2)
- 黑马程序员-Java基础知识总结
- 黑马程序员————OC中Foundation框架知识总结
- 黑马程序员_JavaSE基础知识总结十二:Eclipse使用技巧
- 黑马程序员 Java自学总结一 Java语言的基础知识
- 黑马程序员——基础知识总结_网络编程
- 黑马程序员----------java基础知识之JDK5.0新特性总结
- 黑马程序员_JQuery学习知识简单总结
- Arc 自动内存管理 分类Category 类扩展 Block 代码段 和 Protocol协议的一些简单知识的总结
- 黑马程序员_线程知识总结
- 黑马程序员_IO流知识总结
- 黑马程序员--Java基础加强--03.代码简化 书写规律II_参数化数据类型【重载】【多态】【泛型】【泛型限定】【个人总结】
- 黑马程序员_Java第21天知识总结对象流_管道流_RandomAccessFile_数据流_字节数组流
- 黑马程序员_java基础知识总结(1)面向对象基础总结
- 黑马程序员——基础知识总结_集合框架1
- 黑马程序员——基础知识总结_多线程
- 黑马程序员学习log第六篇基础知识:JAVA的面向对象之IO总结
- 黑马程序员-html+css基础知识总结
- 黑马程序员_学习日记2_有关C#基础知识总结归纳之对象和类型