代码块:
        {
                执行语句;
        }
(1) 当出现在局部位置时, 为局部代码块.
        局部位置: 如语句块中, 函数中, 构造代码块中, 静态代码块中等.
(2) 当出现在成员位置且不被static修饰时, 为构造代码块.
(3) 当出现在成员位置且被static修饰时, 为静态代码块

1. 局部代码块
        可用于定义局部变量的生命周期. 
        也即通过局部代码块可以控制局部变量的生命周期.
        变量的生命周期{}

"变量的作用域: 声明变量的一对{}之间"这句话对于局部代码块来说, 
        声明在局部代码块中的变量, 其声明周期仅限于该局部代码块. // 局部代码块中的局部变量

2. 构造代码块/instance initializer
        构造代码块用于完成所有实例的初始化工作.
        每创建一个该类的实例对象, 便顺序执行一次该类的所有构造代码块.
        构造代码块在对象的生命周期内肯定执行且只执行一次.

一个类可以有多个构造代码块, 各构造代码块按照声明的先后顺序执行.

"变量的作用域: 声明变量的一对{}之间"这句话对于构造代码块来说, 
        声明在构造代码块中的变量, 其声明周期仅限于该构造代码块. // 构造代码块中的局部变量

3. 静态代码块/ static initializer
        静态代码块用于完成类的初始化工作.
        当且仅当类加载时执行. 在类的生命周期内只执行一次.

一个类可以有多个静态代码块, 各静态代码块按照声明的先后顺序执行.

"变量的作用域: 声明变量的一对{}之间"这句话对于静态代码块来说, 
        声明在静态代码块中的变量, 其声明周期仅限于该静态代码块. // 静态代码块中的局部变量
--------------------------------------------------------------------------------
变量的作用域: 声明变量的一对{}之间.
        具体情况如下:
                声明在语句块中的变量, 其作用域为该语句块; // 局部变量
                声明在函数中的变量, 其作用域为该函数; // 局部变量
                声明在构造代码块中的变量, 其作用域为该构造代码块; // 局部变量
                声明在静态代码块中的变量, 其作用域为该构造代码块; // 局部变量
                声明在局部代码块中的变量, 其作用域为该局部代码块; // 局部变量
                (局部代码块可以出现在语句块中, 函数中, 构造代码块中, 静态代码块中)
                声明在类成员位置上的变量, 其作用域为整个类. // 成员变量

AJPFX关于代码块的总结的更多相关文章

  1. AJPFX关于面向对象中的对象初始化整理,综合子父类、代码块等等

    今天总结了一下子父类当中含有静态代码块.代码块.构造函数.成员变量.子类复写父类方法时子类的初始化过程,把思路理清一下 class Fu { //父类成员变量 private int num = 3; ...

  2. 【swift】BlockOperation和GCD实用代码块

    //BlockOperation // // ViewController.swift import UIKit class ViewController: UIViewController { @I ...

  3. About 静态代码块,普通代码块,同步代码块,构造代码块和构造函数的纳闷

    构造函数用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种.特点:1:该函数的名称和所在类的名称相同.2:不需要定义返回值类型.3:该函数没有具体的返回值.记住:所有对象创 ...

  4. Xcode自定义代码块

    到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...

  5. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  6. 10、代码块、构造代码块、静态代码块及main方法之间的关系

    1.普通代码块: 在方法或语句中出现在{}之间的类容就称为普通代码块,简称代码块.普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”,即顺序执行. /*下面第一个类时合法的 ...

  7. xcode添加快捷代码块

    添加快捷代码块 在开发过程中,一些常用的代码段,我们可以设置成快捷代码段来快速实现代码的编写. 如上图中的属性的设置,它们都有相同重复的代码@property (nonatomic, strong), ...

  8. java-并发-保护代码块

    浏览以下内容前,请点击并阅读 声明 线程经常需要协调其动作,最常用的协调方法就是保护代码块,该代码块以一个条件判断开始,当判断为true时才能开始执行. 假设一个方法guradedJoy必须等到变量j ...

  9. 匿名对象 构造方法 重载 构造代码块 this 关键字

    一.匿名对象 1.匿名对象 :没有名字对象 2.匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值,无法获取属性值. 2.匿名对象永远都不可能事一个对象. 3.匿名对象的好处 : 书写简单. ...

随机推荐

  1. MySQL 温故而知新--Innodb存储引擎中的锁

    近期碰到非常多锁问题.所以攻克了后,细致再去阅读了关于锁的书籍,整理例如以下:1,锁的种类 Innodb存储引擎实现了例如以下2种标准的行级锁: ? 共享锁(S lock),同意事务读取一行数据. ? ...

  2. NoSQL之Redis探析

    下载地址:wget http://download.redis.io/releases/redis-2.8.8.tar.gz安装steps:1 下载Official Website : http:// ...

  3. 关于 iOS 的 StoryBoard,接受的那一刻才发现她的美 - 当然美的事物都须要业心照料

    关于 iOS 的 StoryBoard,接受的那一刻才发现她的美 - 当然美的事物都须要业心照料 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循&quo ...

  4. android 之EditText输入检測

    近期开发一个功能的时候发生一个故事,其情节例如以下: 功能事实上不复杂,当中须要一个EditText来获取用户输入的信息.于是,我做了一个Dialog来显示我的输入界面(代码例如以下): mAlert ...

  5. su 和 su- 会影响环境变量

    大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户,Linux中切换用户的命令是su或su -,下面就su命令和 ...

  6. ABAP ALV F4帮助

    ALV F4帮助, 选值保存到ALV. TYPE-POOLS:slis. CLASS lcl_event_receiver DEFINITION DEFERRED. DATA: gt_fcat TYP ...

  7. Buildroot构建指南--快速上手与实用技巧【转】

    本文转载自:http://blog.csdn.net/zhou_chenz/article/details/52335634 Buildroot官方全英文使用手册的链接是https://buildro ...

  8. nginx性能优化技巧

    前几天买了本高俊峰的<高性能Linux服务器构建实战I>,网上都说运维必备手册,昨天看了目录加小50页感觉还是比较扩充视野的,很多东西在学校是不可能学到的,就是感觉有的地方讲的仍然不是很清 ...

  9. 解决多次异步请求紊乱问题 - JavaScript

    加入目前的需求这样的:       左边的菜单链接,点击后通过异步请求返回其HTML代码,然后innerHTML到右面的DIV中,加入切换菜单的速度非常快,最终会导致请求紊乱. 可以加入消息管理机制, ...

  10. 三.OC基础--1.NSString的创建和使用,2多文件开发,3类方法,4封装

    三:OC--1.NSString的创建和使用, 1,创建常量字符串,注意使用“@“符号. NSString *astring = @"This is a String!"; //后 ...