动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

30天自动登录
微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Java构造方法,初始化块和静态初始化

03-29 14:38 335浏览
举报 T字号
  • 大字
  • 中字
  • 小字

开始学习java,对于构造方法,初始化块和静态初始化块感觉比较迷茫,所以做出一些简单的总结

初始化块:构造器的补充,初始化块不能接受任何参数,定义一些所有对象共有属性方法时可以使用初始化块进行初始化。

“里面的代码在创建Java对象时执行,而且在构造器之前执行!”,每个对象生成时都会被执行一次

例如:

1.{ 
2.System.out.println("通过初始化块初始化sex");
3.sex = "男";
4.}

静态初始化块: 使用static定义,当类装载到

1.public HelloWorld () { 
2.System.out.println("通过构造方法初始化name");
3.name = "tom";
4.}

系统时执行一次,若在静态出是坏块中想初始化变量,只能初始化静态变量

例如:

1.static { 
2.System.out.println("通过静态初始化块初始化age");
3.age = 20;//age是静态变量,请看后面的全部代码
4.}

构造函数:不做更多讲解

1.public HelloWorld () { 
2.System.out.println("通过构造方法初始化name");
3.name = "tom";
4.}

那你知道这三种方式的运放顺序吗??

代码:

1.public class HelloWorld { 
2.
3.String name; // 声明变量name
4.String sex; // 声明变量sex
5.static int age;// 声明静态变量age
6.
7.// 构造方法
8.public HelloWorld () { 
9.System.out.println("通过构造方法初始化name");
10.name = "tom";
11.}
12.
13.// 初始化块
14.{ 
15.System.out.println("通过初始化块初始化sex");
16.sex = "男";
17.}
18.
19.// 静态初始化块
20.static { 
21.System.out.println("通过静态初始化块初始化age");
22.age = 20;
23.}
24.
25.public void show() { 
26.System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
27.}
28.
29.public static void main(String[] args) { 
30.
31.// 创建对象
32.HelloWorld hello = new HelloWorld();
33.// 调用对象的show方法
34.hello.show();
35.
36.}
37.}

从图我们可以看出:

优先级顺序,静态初始化块>初始化块>构造方法

0人推荐
共同学习,写下你的评论
0条评论
我是码农
程序员我是码农

25篇文章贡献87343字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java面试题及答案整理

代码小兵66904-21 20:01

6道经典算法面试题

杨晶珍05-12 16:39

简述Spring MVC的核心组件

代码小兵49806-11 16:26

SpringMVC 中的组件

代码小兵49806-11 16:28

Spring常见面试题

代码小兵92504-17 16:07

发评论

举报

0/150

取消