Java:构造代码块,静态代码块
2018-06-18 02:28:37来源:未知 阅读 ()
本文内容:
- 局部代码块
- 构造代码块
- 静态代码块
- 补充
首发日期:2018-03-28
局部代码块:
局部代码块用于限制变量的生命周期,如果希望某些变量在某一过程之后直接失效而不希望被后面继续操作时,可以使用局部变量来限制变量的生命周期带局部代码块中
构造代码块:
- 构造函数只对对应的对象进行初始化,构造代码块给类的所有对象进行初始化。
- 由于构造代码块给类的所有对象进行初始化,所以对于每个对象都要初始化成一样值的变量,可以防止构造代码块中初始化。
class Person{ String gender; int age; { //构造代码块 System.out.println("构造代码块运行阶段"); gender="男"; } Person(){//构造函数 System.out.println("构造函数Person()运行阶段"); } Person(int age){//构造函数 System.out.println("构造函数Person(int age)运行阶段"); this.age=age; } } public class Demo { public static void main(String[] args) { Person p1=new Person(); System.out.println(p1.gender); Person p2=new Person(18); System.out.println(p2.gender); } }
上述代码结果:
构造代码块运行阶段 构造函数Person()运行阶段 男 构造代码块运行阶段 构造函数Person(int age)运行阶段 男
构造代码块的好处的例子:
构造函数版本:

构造代码块版本:

静态代码块:
- 静态代码块与构造代码块不同的是,它只执行一次,用于对整个类进行初始化,通常是对类变量进行初始化处理。
- 静态代码块中只能修改类变量。
- 静态代码块的执行比主函数要早。
- 有时候因为静态代码块只执行一次。所以有时候会用来“显示程序流程”。
class Person{ static String gender; int age; static { System.out.println("静态代码块执行完成"); gender="男";//更改的变量只能是类变量 } Person(){//构造函数 System.out.println("构造函数Person()运行阶段"); } Person(int age){//构造函数 System.out.println("构造函数Person(int age)运行阶段"); this.age=age; } } public class Demo { public static void main(String[] args) { Person p1=new Person(); System.out.println(p1.gender); Person p2=new Person(18); System.out.println(p2.gender); } }
上述代码执行结果:
静态代码块执行完成 构造函数Person()运行阶段 男 构造函数Person(int age)运行阶段 男
补充:
- 各个初始化块的运行顺序:静态代码块-》构造代码块-》构造方法
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:封装,继承,多态
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
