初始化块和静态初始化块
来源:互联网 发布:vb.net开发工具 编辑:程序博客网 时间:2024/05/16 09:40
1.为什么要有初始化?
答:初始化块就是构造器的补充,初始化块是不能接收任何参数的,定义的一些所有对象共有的属性、方法等内容时就可以用初始化块初始化了
好处是可以提高初始化块的复用,提高整个应用的可维护性
2.有初始化块和静态初始化块的区别?
答:(1)程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。
(2)静态初始化块只在类加载时执行一次,且只能初始化静态成员变量,不能初始化普通变量
注:java中没有静态构造函数,通过静态代码块完成类似作用
public class HelloWorld { 3 String name; // 声明变量name String sex; // 声明变量sex static int age;// 声明静态变量age // 构造方法,手动声明构造方法之后,不论声明的是有参还是无参的构造方法,系统都不会再自动生成无参的构造方法 public HelloWorld () { System.out.println("通过构造方法初始化name"); name = "tom"; } // 初始化块 { System.out.println("通过初始化块初始化sex"); sex = "男"; } // 静态初始化块,只在类加载的时候初始化一次,且只能初始化静态成员变量,不能初始化普通变量 static { System.out.println("通过静态初始化块初始化age"); age = 20; } public void show() { System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age); } public static void main(String[] args) { // 创建对象 HelloWorld hello = new HelloWorld(); // 调用对象的show方法 hello.show(); HelloWorld hello1 = new HelloWorld(); }}这是输出结果:通过静态初始化块初始化age通过初始化块初始化sex通过构造方法初始化name姓名:tom,性别:男,年龄:20通过初始化块初始化sex通过构造方法初始化name
0 0
- 初始化块 和 静态初始化块
- 初始化块和静态初始化块
- 初始化块/静态初始化块
- 静态初始化块和实例化块
- java中的初始化块和静态块
- 理解初始化块和静态初始化块案例
- Java中初始化块和静态初始化块的区别
- 构造方法,初始化块和静态初始化块
- 静态初始化块、初始化块、构造函数
- 静态初始化块、初始化块、构造函数
- 初始化块与静态初始化块
- java静态初始化块、实例初始化块
- 初始化块(非静态)
- 多态、静态初始化块
- 静态初始化块
- static静态初始化块
- Java静态初始化块
- Java 静态初始化块
- 在CentOS 7上通过Apache和mod_wsgi运行Django应用
- Xcode 启动页面关闭 不显示
- 数组交换
- Matlab与线性代数 -- 矩阵的左右翻转、上下翻转和矩阵的逆时针旋转90操作
- Starting MySQL.. ERROR! The server quit without updating PID file
- 初始化块和静态初始化块
- 图片无限轮播
- LA 3716 DNA Regions (二分/排序)
- 通知
- fastjson转换json字符串key的首字母小写变大写的解决办法
- 通过SWIG用C语言编写Python扩展
- C 语言编程练习,实践,解决方案:指针
- Google Java编程风格指南
- Android 2D绘图解析 Canvas,Paint